mingw+eclipse 编译tcp程序 创建socket 返回 -1
int main(void) {
int listenfd, connfd;
struct sockaddr_in servaddr;
char buff[4096];
int n;
printf("TCPService Start.");
if( (listenfd = socket(AF_INET, SOCK_STREAM, 0)) == -1 ){
printf("create socket error: %s(errno: %d)\n",strerror(errno),errno);
exit(0);
}
运行到创建socket就返回-1 errno还是0,这个怎么找原因啊
[解决办法]
从上面信息看不出用什么平台
一般windows不用errno,但是却也包含errno.h,你又没有
#include <sys/socket.h>
或者
#include <Winsock2.h>
所以分不清
Win32必须加WSAStartup(),用WSAGetLastError()获取错误信息
Linux下面似乎是对的