WinSock2 を実行しているサーバーに接続したばかりのクライアントの IP アドレスを取得したいと考えています。私はCを使用しています。
6085 次
3 に答える
6
への呼び出しを介して、クライアントの IP アドレスとポートを取得できますaccept()
。
適切なデータを最後の 2 つのパラメーターに渡すだけです。
struct sockaddr_in sa = {0}; /* for TCP/IP */
socklen_t socklen = sizeof sa;
... = accept(..., (struct sockaddr *) &sa, &socklen);
詳しくはこちらをお読みください。
于 2013-05-23T14:21:17.600 に答える
0
これはwinsock2で機能します。getpeernameは不要
SOCKET newConnection;
SOCKADDR_IN addr;
int addrlen = sizeof(addr);
newConnection = accept(sListen, (SOCKADDR*)&addr, &addrlen);
char *ip = inet_ntoa(addr.sin_addr);
printf("Accepted Connection from : %s", ip);
于 2016-07-20T06:42:08.800 に答える