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);
本文作者:mykaneki
本文链接:https://www.cnblogs.com/mykaneki/p/16750368.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步