我正在尝试使用 Java 创建一个简单的聊天程序。我已经创建了接受多个客户端的 TCP 服务器。当前客户端向服务器发送消息。
- 如何从一个客户端向所有其他客户端广播消息?
- 我如何配对两个客户端。向彼此发送和接收消息?
最佳答案
您可以让您的客户端通过简单的套接字进行通信。一旦服务器发送客户端的IP,您就可以使用客户端的IP和TCP端口(通常是443)进行通信。我知道在 C 中它是这样完成的我不确定你是否可以在你的 Java 实现中使用它但类似的东西会起作用。
//#define MSG "GET / HTTP/1.0\r\n\r\n"
char buffer[128]= "0";
struct sockaddr_in sin;
struct hostent *host;
int s;
host = gethostbyname("Clients IP");
memcpy(&(sin.sin_addr), host->h_addr,host->h_length);
//sin.sin_addr.s_addr = inet_addr("175.41.153.196");
sin.sin_family = host->h_addrtype;
//sin.sin_family = AF_INET;
sin.sin_port = htons(443);
// Create socket port 443
s = socket(AF_INET, SOCK_STREAM,0);
// 1. Block for server accept
connect(s, (struct sockaddr*)&sin,sizeof(sin));
// 2. Send "Hello world"
send(s,buffer,strlen(buffer)+1,0);
// 3. Block for receive
recv(s,buffer,sizeof(buffer),0);
// Print received data
close(s);
//return 0;
然后您可以使用 Send 和 recv 函数在您的客户端之间发送和接收。
关于java - 如何从服务器连接两个客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7808331/