C socket编程遇到的问题

如何使用WSAGetLastError()

printf("%d", WSAGetLastError());

返回值:需要的时候再查

rval每次都返回-1

rval = send(rval, buf, strlen(buf) + 1, 0);//error 10038 WSAENOTSOCK
//无效套接字上的套接字操作。任何一个把SOCKET句柄当作参数的Winsock函数都会返回这个错误。它表明提供的套接字句柄无效。

magsock才是获得连接的套接字

rval 改为 msgsock

msgsock = accept(sock, (struct sockaddr*)&tcpaddr, (int*)&len);

fflush(stdin)可移植性不高,用什么来代替?

//方法一
scanf("%*[^\n]");	//清除回车键以前的所有字符
scanf("%*c");	//清除任意一个字符,这里是回车
//方法二            
char c;
while ((c = getchar()) != '\n' && c != EOF);

posted @ 2022-10-03 13:11  mykaneki  阅读(39)  评论(0编辑  收藏  举报