当我在Java中声明时
Socket s = new Socket((String)null, 12345);
这个操作是否实际打开了一个套接字并使用系统和网络资源,还是直到我连接输入/输出缓冲区时才进行?我想在程序开始时创建一个
Socket
对象,它已经设置好连接服务器,并根据需要打开/关闭它,而不是传递地址和端口(这似乎更清晰),但如果这意味着端口将一直开放,则不要这样做。编辑 从答案中看来,这不会像我想的那样工作。如何创建一个已设置好地址且仅需要连接的关闭套接字?
http://docs.oracle.com/javase/6/docs/api/java/net/Socket.html#Socket(java.net.InetAddress,%20int) <- 这取决于您使用的构造函数。对于您指定的构造函数,它会连接。
关于您的编辑:您将需要设置自己的类来保存所有设置信息,稍后可以打开该类。也许您只需在其中存储数据并创建一个返回套接字的方法。由您决定,有很多方法可以完成这项任务。但请确保在结束时正确关闭所有套接字 ;)
localhost
进行测试的。最终版本将有一个实际的地址。 - Baruch