2011-10-31 140 views
0

我想在我的客户端应用程序中打开一个TCP套接字,以便它可以与我的服务器通信。
通过文档后,我很好奇插座构造函数,它需要两个参数。无法连接到服务器,TCP套接字android

Socket(InetAddress dstAddress, int dstPort) 
Creates a new streaming socket connected to the target host specified by the parameters dstAddress and dstPort. 

并且其描述如上。所以据我了解,在创建套接字之后,我应该明确地调用connect函数来连接到服务器。但在某些TCP客户端示例代码我在网上找到,他们没有实际调用connect函数

connect(SocketAddress remoteAddr, int timeout) 

所以我想,如果构造函数创建后会自动连接到服务器?三方握手完成。或者我必须在构造函数之后显式调用connect函数?非常感谢你

+0

你试过了吗? –

+0

是的,事实证明构造函数需要照顾连接部分。谢谢 –

回答

1

只有两个构造不采取任何目标的不连接

  • Socket() 创建一个新的无关插座。

  • Socket(Proxy) 使用给定代理类型的新无关插座。

所有在您传递目标的主机名或地址其他构造做连接

  • Socket(String, int) 创建连接由参数指定的目标主机新的流式套接字dstName和dstPort。

  • Socket(String, int, InetAddress, int)创建一个新的流式套接字连接到由参数dstName和dstPort指定的目标主机。

  • Socket(InetAddress, int) 创建连接到由参数dstAddress和dstPort指定目标主机新的流式插座

  • Socket(InetAddress, int, InetAddress, int) 创建连接到由参数dstAddress和dstPort指定目标主机新的流式插座

我遗漏了两个不赞成的构造函数。

这是直接从Android API documentation for java.lang.Socket

+0

谢谢,它解释了一切 –

相关问题