在你closesocket之前,有些数据已经在传输网络上了,你close并不影响这些已经在传输网络上的数据。通常情况下,应该先shutdown()在close,以保证在传输网络上的数据正确性
解决方案 »
- 拿到某个进程内的窗口名称,两个方法不一样GetWindowText SendMessage
- 请问QQ是如何感应 把文件拖动到编辑框这个消息的
- 那位兄台能用一个例子给讲讲event,waitforsingle,waitformulti,callback之间的关系
- unresolved external symbol _main ?
- 很麻烦的问题
- 动态添加、删除菜单的问题
- 求助!
- 对话框创建toolbar问题
- MFC CFILE::GetLength()得到位图长度多两个字节???
- socket通信,服务器能收到客户端发来的信息,但客户端收不到服务器发来的信息
- CFile 的问题
- 数据集指针定义问题sdk
按你这样试了下,客户端还是会连续收到数据,数据是关闭前最后一次send的数据
按你这样试了下,客户端还是会连续收到数据,数据是关闭前最后一次send的数据这个怎么说呢,记得以前听过“协和客机“的一则趣事是这样说的:
你在某一点喊了一声,然后迅速开着你的协和客机朝着你喊的方向开过去,你会源源不断的听到你刚才喊的那句话。这则趣事本意是告诉我们,协和客机可以超音速飞行。但是我用这件事告诉你,加入你喊了一句话后,如果你突然被外星人的激光束打中,灰飞烟灭,但是你喊的那句话其实还在空气中传播,直到它能量耗尽为止。之所以告诉你在close之前shutdown一下,等于是说:我要出门的,你们都不要来了,来了也没人在家,但是如果有人已经在来的路上了,你是没辙的,要么你直接锁门让这些在路上的人吃闭门羹,或者等这些人来了以后在锁门。如果还不理解,那就无能为力了
关闭连接是单向的,向对方说我不再发送数据了,可以接收,等待对方关闭
大概看了下,是基于MFC的,我这个问题是在Console控制台上看到的
大概看了下,是基于MFC的,我这个问题是在Console控制台上看到的你认真看看,所有通信类都是采用Win32API封装。Demo使用时用的MFC而已,你把使用方法照搬到你的Win32工程就行。