在Java中使用TCP聊天
我正在用Java聊天,它使用TCP协议。 我有一个客户端和一个服务器端 要向另一个用户发送消息,我必须通过我的客户端将消息发送到服务器,服务器必须将消息发送到另一个客户端 服务器保存两个在线用户的地址。当我发送私人消息时,服务器会找到ip和端口,并从中创建套接字。 问题是它不能正常工作 代码如下:在Java中使用TCP聊天,java,networking,tcp,tcpclient,tcpserver,Java,Networking,Tcp,Tcpclient,Tcpserver,我正在用Java聊天,它使用TCP协议。 我有一个客户端和一个服务器端 要向另一个用户发送消息,我必须通过我的客户端将消息发送到服务器,服务器必须将消息发送到另一个客户端 服务器保存两个在线用户的地址。当我发送私人消息时,服务器会找到ip和端口,并从中创建套接字。 问题是它不能正常工作 代码如下: int portNumber = 4444; String host = "192.168.0.100”; Socket link; try { link = new Socket(host,
int portNumber = 4444;
String host = "192.168.0.100”;
Socket link;
try {
link = new Socket(host, portNumber);
// Then I set to already created PrintWriter the outputstream
out = new PrintWriter(link.getOutputStream(), true);
} catch (Exception e) {}
// Unfortunately the server freezes here (it doesn't show anything).
如何解决这个问题?我哪里出错了?
提前感谢。您不应该创建新的
套接字来发送消息。相反,请使用现有连接的套接字
顺序应如下所示:
客户端A连接到服务器(服务器将连接存储为SocketA)
客户端B连接到服务器(服务器将连接存储为SocketB)
服务器从SocketA读取私人消息。该消息发送至客户B
服务器找到客户端B的现有套接字。它是SocketB
服务器将消息发送到SocketB李>