关于SOCKET编程中“烫烫烫...”的问题
2022/10/12 2:24:53
本文主要是介绍关于SOCKET编程中“烫烫烫...”的问题,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
近几日一直在学习SOCKET通信,关于网络编程这块儿一是空白。学习的过程中在网上找了一段源码,据说是孙鑫老师教程里的。新建一个工程,运行源码一切似乎很正常。于是自己改了一下程序,再次运行发现客户端第一次接收到数据时一直显示”烫烫烫“的乱码。经过网上查找资料,多次测试,发现有以下几种原因: 1、检查客户端与服务器端的端口是否一致。端口不一致时服务器端可能出错 2、检查程序逻辑。我就翻了这种不能再傻逼的错误。把程序改成了这样
SOCKET sockConn = accept(sockSrv, (SOCKADDR*)&addrClient, &len); char sendBuf[100]; send(sockConn, sendBuf, strlen(sendBuf) + 1, 0); char recvBuf[100]; recv(sockConn, recvBuf, 100, 0); printf("%s ", recvBuf); sprintf(sendBuf, "Welcome %s to http://www.sunxin.org", inet_ntoa(addrClient.sin_addr)); closesocket(sockConn);
由于发送缓冲区刚发送前没有数据,所以客户端接收到的为null,于是就显示“烫烫烫“ 只需要把
sprintf(sendBuf, "Welcome %s to my site", inet_ntoa(addrClient.sin_addr));
移到send函数之前,问题即解决。 3、网上很多人说是由于缓冲区未初始化,检测不到结束符,导致访问越界。但是我在对缓冲区都初始化后,问题仍然没有解决。 4、电脑可能真的太“烫”了。哈哈哈
这篇关于关于SOCKET编程中“烫烫烫...”的问题的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2025-01-12深入理解 ECMAScript 2024 新特性:Map.groupBy() 分组操作
- 2025-01-11国产医疗级心电ECG采集处理模块
- 2025-01-10Rakuten 乐天积分系统从 Cassandra 到 TiDB 的选型与实战
- 2025-01-09CMS内容管理系统是什么?如何选择适合你的平台?
- 2025-01-08CCPM如何缩短项目周期并降低风险?
- 2025-01-08Omnivore 替代品 Readeck 安装与使用教程
- 2025-01-07Cursor 收费太贵?3分钟教你接入超低价 DeepSeek-V3,代码质量逼近 Claude 3.5
- 2025-01-06PingCAP 连续两年入选 Gartner 云数据库管理系统魔力象限“荣誉提及”
- 2025-01-05Easysearch 可搜索快照功能,看这篇就够了
- 2025-01-04BOT+EPC模式在基础设施项目中的应用与优势