Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java HTTPURLConnection端口号分配_Java_Sockets_Port_Httpurlconnection - Fatal编程技术网

Java HTTPURLConnection端口号分配

Java HTTPURLConnection端口号分配,java,sockets,port,httpurlconnection,Java,Sockets,Port,Httpurlconnection,我正在使用HTTPURLConnection,想知道端口问题是如何处理的?我的意思是这个类在后台使用套接字,但是客户端套接字的端口号是如何在内部分配的呢?有什么想法吗 Thx它不是。它完全由操作系统决定。不是。这完全取决于操作系统。创建套接字时,您必须考虑是要打开服务器套接字还是客户端套接字 打开一个服务器套接字,它坐在那里等待传入的请求启动“对话”。因此,它需要一个客户端已知的端口号。出于这个原因,一些服务具有“众所周知的端口”,如HTTP is端口80等 客户端套接字是从联系服务器套接字开始

我正在使用HTTPURLConnection,想知道端口问题是如何处理的?我的意思是这个类在后台使用套接字,但是客户端套接字的端口号是如何在内部分配的呢?有什么想法吗


Thx

它不是。它完全由操作系统决定。

不是。这完全取决于操作系统。

创建套接字时,您必须考虑是要打开服务器套接字还是客户端套接字

打开一个服务器套接字,它坐在那里等待传入的请求启动“对话”。因此,它需要一个客户端已知的端口号。出于这个原因,一些服务具有“众所周知的端口”,如HTTP is端口80等

客户端套接字是从联系服务器套接字开始创建的。在这种情况下,服务器不需要事先知道客户机端口号——它将在第一个传入请求时接收该端口号。因此,当打开客户端套接字时,操作系统只需从未使用的端口列表中选择一个随机端口(查找“临时端口”),并在会话结束后关闭它


这种情况与ip地址类似:客户端需要知道服务器的ip地址才能与其联系,但服务器不需要知道每个客户端的ip地址。

创建套接字时,您必须考虑是要打开服务器套接字还是客户端套接字

打开一个服务器套接字,它坐在那里等待传入的请求启动“对话”。因此,它需要一个客户端已知的端口号。出于这个原因,一些服务具有“众所周知的端口”,如HTTP is端口80等

客户端套接字是从联系服务器套接字开始创建的。在这种情况下,服务器不需要事先知道客户机端口号——它将在第一个传入请求时接收该端口号。因此,当打开客户端套接字时,操作系统只需从未使用的端口列表中选择一个随机端口(查找“临时端口”),并在会话结束后关闭它


这种情况与ip地址类似:客户端需要知道服务器的ip地址才能与其联系,但服务器不需要知道每个客户端的ip地址。

但是如果您不通过URL传递端口号,则无法分配它。如果可能的话,您可以详细说明一下您的语句吗?例如在Unix中?您无论如何都无法分配它。URL中的端口号是目标端口。您询问的端口号是本地端口。你无法控制它。你不需要控制它。这里没有问题要解决,我明白你的意思。我不需要知道,是的。但我只是想知道秘密的事情。无论如何,谢谢。但是如果您不通过URL传递端口号,您将无法分配它。如果可能的话,您可以详细说明一下您的语句吗?例如在Unix中?您无论如何都无法分配它。URL中的端口号是目标端口。您询问的端口号是本地端口。你无法控制它。你不需要控制它。这里没有问题要解决,我明白你的意思。我不需要知道,是的。但我只是想知道秘密的事情。谢谢你,当然。它不必知道。不过谢谢你的经验。一个额外的提醒注意事项是-应该从代码中释放它(套接字/端口),让底层操作系统关闭它。除非会话刚刚结束(如果你不是说“关闭会话”),否则句柄不会被关闭。@zgulser关闭输入流或调用
disconnect()
应该关闭套接字。确定。它不必知道。不过谢谢你的经验。一个额外的提醒注意事项是-应该从代码中释放它(套接字/端口),让底层操作系统关闭它。除非会话刚刚结束(如果你不是说“关闭会话”),否则句柄不会被关闭。@zgulser关闭输入流或调用
disconnect()
应该关闭套接字。