请教关于socket编程的send函数!(TCP)今天遇到一个问题,先send一个大文件,估计时间比较长,另一个线程在这中间想发送另外一段数据,请问直接用这个socket进行send会出现什么问题,是否会成功?
解决方案 »
- 对话框中有没有类似OnPrepareDC
- 发现一个免费的视频和机器视觉源码的下载网站,不敢独享!
- 关于水晶报表问题
- 请问怎样才可以让鼠标停在文本编辑控件(Edit Box)上面时显示文本标签呀?
- 初学者的VC中Tab Control控件使用问题
- 关于com的超菜问题
- 初学者怎样找到精通VC++的切入点
- 一个stream!=NULL 的问题
- 浮雕效果代码功能未实现-->(编译能通过,但运行时直接崩溃了)<--希望哪位大哥能帮帮忙
- 如何修改WINDOWS中另一进程中的内存变量!例如金山游侠!
- 请问下有关Aria.h和ARIA.lib 的问题
- [控制台相关]求教,如何在windows控制台程序中获取到系统待机\休眠消息?
一个socket就一个系统缓冲区,同时写,数据当然会错误了
我以前好像试过,Windows好像保证了每次发送数据过程的完整性,Send和Send之间不会重叠,但是没看到相关说明,
A运行一段时间后换B运行
B运行一段时间后再换A运行
这样循环下去就是一个多线程.两个线程同时操作一个大的缓冲区,有可能会造成不安全访问,产生冲突,这样数据应该会乱掉吧???试过才知道.
有道理,那我这样做应该可以:
创建一个临界区,A中大文件自己分片循环发送,每个分片打上自己的应用头,进入临界区后再send,B中同样处理。多线程啊,好麻烦
以前是用阻塞方式做的,今天我又用非阻塞方式测试了一下,WINDOW保证了每次SEND的数据块的完整性,SEND和SEND之间是不会有数据交叉情况出现的