关于SOCKET编程中“烫烫烫...”的问题
来源:互联网 发布:qq聊天记录查询器软件 编辑:程序博客网 时间:2024/05/22 10:28
近几日一直在学习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\n", 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、电脑可能真的太“烫”了。哈哈哈
阅读全文
0 0
- 关于SOCKET编程中“烫烫烫...”的问题
- 关于.net socket编程中客户端关闭的问题
- 关于php socket编程中遇到的一些问题
- 关于Android Socket编程遇到的问题
- 关于socket编程的一些问题
- ipv6 socket 编程中遇到的问题
- 关于Android中Socket的通信问题
- 关于socket编程中服务器端如何检测客户端连接断开的问题
- 网络编程中的socket中关于TCP下的文件传输:EOF问题
- 问一个关于java Socket编程的问题。
- Android中的socket编程-关于设置连接的ip问题
- socket编程中关于收发过程的一些特点
- 关于socket编程中常用的基本函数
- 关于Socket编程中gethostbyname()出错的原因
- 关于socket编程中io流的总结
- 关于Socket编程的几篇博文
- python中关于socket的timeout设置的问题
- 关于socket编程中的accept问题
- android 6.0权限全面详细分析和解决方案
- SQL基础之增删改查
- hdu1536
- POJ1789--Truck History(最小生成树)
- windows下Gulp入门详细教程
- 关于SOCKET编程中“烫烫烫...”的问题
- 在AE中如果想通过toc图层来寻找源数据时的代码
- F
- 队列极值NOJ1926
- Android 通过JNI实现守护进程
- bootstrap 分页详解
- 一个叫Spring的框架,“SSH”框架之总结(Hibernate、Spring、SpringMVC)
- linux查找、搜索字符或文件
- caffe配置GLOG库时 ./configure提示没有那个文件或目录