![](/img/trans.png)
[英]Java SocketServer is accepting input from a Socket client but the Socket client is not receiving input from the SocketServer
[英]about the returned Socket object from SocketServer
我有一个非常简单的问题,但是我对教程感到困惑。
说,我创建一个服务器并使用端口1234:
ServerSocket server = new ServerSocket(1234);
然后,我要求服务器通过以下方式等待请求:
while(true) {
// is the returned socket represents the server side socket or client side socket???
Socket socket = server.accept();
}
我的问题是server.accept()
返回的套接字是服务器端套接字还是客户端端套接字? Java doc中对此的解释不是很好。
我问这个问题的原因是因为当我运行socket.getPort()
,它没有返回服务器端口1234,而是返回了我未定义的端口,因此,我认为它可能是客户端的套接字。 但我不确定。
套接字有两个端点,其中一端将通过OutputStream向另一端发送信息,并使用InputStream从另一端接收信息。 另请参见Socket上的getInputStream()和getOutputStream()方法。
用您的话来说,您可以将套接字视为服务器端,因为InputStream从连接到服务器的客户端接收信息,而OutputStream向客户端发送信息。
通常,一旦通过server.accept()方法获得了套接字,就应该使用通过获得的套接字创建的线程与客户端进行通信,以便服务器可以同时处理多个客户端。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.