我目前有一个工作客户端(用 C++ 编写)和一个工作服务器(用 C 编写)。我目前正在尝试弄清楚如何从服务器向客户端发送一条消息,上面写着“你好,(客户端 IP 地址)”,我也想在客户端说“你好”时回复一条消息我的选择。此外,当客户端发送“退出”时,我想断开客户端,但不关闭服务器。下面是我的代码。
while(true) // loop forever
{
client = accept(sock,(struct sockaddr*)&from,&fromlen); // accept connections
unsigned long ulAddr = from.sin_addr.s_addr;
char *client_ip;
client_ip = inet_ntoa(from.sin_addr);
cout << "Welcome, " << client_ip << endl; // usually prints hello %s
// cout << "client before thread:" << (int) client << endl;
// create our recv_cmds thread and pass client socket as a parameter
CreateThread(NULL, 0,receive_cmds,(LPVOID)client, 0, &thread);
}
WSACleanup();
更新的代码*我当前的问题是它只是打印Welcome %s
,而不是实际的 IPv4 地址。