- 论坛徽章:
- 0
|
5可用积分
- /******************************************************************************
- * void SocketRecv 接收Socket数据
- * 参数
- * int Port 端口号双方必须保持一致
- * LPTSTR &Parameter 具体参数
- ******************************************************************************/
- void SocketRecv(int Port, LPTSTR &Parameter, char &ClientAddress)
- {
- WSADATA data;
- WSAStartup(MAKEWORD(2, 2), &data);
- SOCKET s, s1;
- s = socket(AF_INET, SOCK_STREAM, 0);
- sockaddr_in addr;
- addr.sin_family = AF_INET;
- addr.sin_port = htons(Port);
- addr.sin_addr.S_un.S_addr = INADDR_ANY;
- bind(s, (sockaddr*)&addr, sizeof(addr));
- //监听并处理
- listen(s, 5);
- int n = sizeof(addr);
- s1 = accept(s, (sockaddr*)&addr, &n);
-
- //转换IP地址
- char ip = htonl(addr.sin_addr.S_un.S_un_b);
- //得到数据
- char i[1024] = {0};
- recv(s1, i, sizeof(i), 0);
- Parameter = i;
- //销毁
- closesocket(s1);
- closesocket(s);
- WSACleanup();
- }
复制代码 获取IP地址错误
1 IntelliSense: 不存在从 "struct in_addr::<unnamed>::<unnamed>" 到 "u_long" 的适当转换函数 f:\C++代码\个性化磁盘\SocketServer\SocketServer\SocketServer.cpp 113
怎么获取发送端IP才正确? |
|