- 论坛徽章:
- 24
|
回复 #1 kkysosojoy 的帖子
原帖由 kkysosojoy 于 2007-7-17 13:16 发表
请问哪里可以找到sys/socket.h sys/un.h netinet/in.h netdb.h arpa/inet.h...
等文件 ...
你也用 mingw/msys ,mingw/msys 好像用的人不多,能遇到不容易呀。
在 mingw/msys 中好像不能用 sys/socket.h sys/un.h netinet/in.h netdb.h arpa/inet.h... 。
我用 winsock 代替:
#ifdef _WIN32
#include <windows.h>
#include <winsock2.h>
#include <gdk/gdkwin32.h>
#else
#include <sys/socket.h>
#include <netinet/in.h>
#include <netinet/tcp.h>
#include <netdb.h>
#include <arpa/inet.h>
#endif
......
#ifdef _WIN32
if(WSAStartup(MAKEWORD(2,2),&wsaData) != 0)
{
printf("WSAStartup()fail:%ld\n",GetLastError());
exit(-1);
}
#endif
......
#ifdef _WIN32
sd = accept (listen_sd, (struct sockaddr*)&sa_cli, &client_len);
#else
sd = accept (listen_sd, (struct sockaddr*)&sa_cli, (socklen_t*)&client_len);
#endif
......
ret_tmp = recv(a_server_sd, (char*)&ctrl_info, sizeof(ctrl_info), 0 /*MSG_WAITALL*/);
......
ret_tmp = send(a_server_sd, (char*)&ctrl_info, sizeof(ctrl_info), 0);
|
要用几句条件编译。 |
|