Java Socket
class有两种方法 isClosed
和 isConnected
检查插座是分别关闭还是连接。我想知道一个只打开的TCP套接字和一个打开并连接的TCP套接字有什么区别,这与UDP有什么不同。
Java Socket
class有两种方法 isClosed
和 isConnected
检查插座是分别关闭还是连接。我想知道一个只打开的TCP套接字和一个打开并连接的TCP套接字有什么区别,这与UDP有什么不同。
简单地说,一个 Socket
那是 打开 是一个等待连接或已成功连接到另一个的套接字 Socket
。当一个插座已经 关闭,这意味着此套接字不再可用于连接,并且它的资源已经被释放。一个 Socket
这是连接的,这意味着套接字连接到另一个 Socket
。
那么一个 Socket
能够..
UPDATE
来自@Bryan
显然,有 半封闭 要么 半开 TCP套接字的状态;哪个用法(今天)与其原始含义不同。更多关于此 链接。
简单地说,一个 Socket
那是 打开 是一个等待连接或已成功连接到另一个的套接字 Socket
。当一个插座已经 关闭,这意味着此套接字不再可用于连接,并且它的资源已经被释放。一个 Socket
这是连接的,这意味着套接字连接到另一个 Socket
。
那么一个 Socket
能够..
UPDATE
来自@Bryan
显然,有 半封闭 要么 半开 TCP套接字的状态;哪个用法(今天)与其原始含义不同。更多关于此 链接。
此页面提供了有关套接字状态的相当好的概述: http://diranieh.com/SOCKETS/SocketStates.htm 以及TCP和UDP套接字之间的区别。尤其:
请注意,java.net.DatagramSocket的较新实现支持TCP / IP网络状态的扩展:DatagramSocket也可以处于“已连接”状态,因此即使数据报套接字从不,isConnected()也不一定返回false在网络层“连接”。尤其是: “当DatagramSocket连接到远程地址时,数据包只能发送到该地址或从该地址接收。默认情况下,数据报套接字未连接。”