标题说不清,进来瞅瞅吧。 本帖最后由 oyljerry 于 2012-11-27 17:02:31 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不太懂网络,不过只要你不断开连接,想接收的时候,还是能读到的;一个连接对应一个服务器,然后可以用信号量samphone之类的控制全读完啊~或者弄个全局的变量,读到一个自增,大小到了,就结束了 如果连接量不是很大的话,给没一个连接开一个线程,在里面做connect,recv。主线程创建所有子线程之后,等待所有子线程返回。 1.可能会,看你缓存区怎么设置的SETSOCKEOPT 里面的SO_RCVBUF参数可以设置2.WaitForMultipleObjects来保证给楼主两个建议:1.如果是学习为主要目的,建议从头开始看,Socket网络通信编程,有了理论看那些API才有感触。包括以后面试都问这些基础。2.如果楼主是完成工作为目的,建议尝试网络通信模型,Select模型,epoll模型等等。 1.不会丢,socket有自己的缓冲,你不取则一直在接收缓冲区中,除非服务端上层发送时进行人为的丢弃2.最简单的用select模型,单线程负责N个socket通信,比你上面写的形式来的合理 SO_RCVBUF不是设置接收缓冲区大小的吗?设置够大就不丢失了吗?如果不丢失的话用select模型确实是个好主意。另外,非常感谢你的建议。这个问题基于工作。windows网络编程技术基本上浏览了一遍,对其中的几个模型也只是了解了,如果可以用select的话,这儿正好能实践下。 谢谢。既然不丢失,那我就试试select。 http://blog.csdn.net/piggyxp/article/details/6922277 先回答你的问题吧1.返回的消息是保存在socket缓存中的,数据会随socket一起销毁,如果一直不处理,等缓存满了,将接受不到消息。2.建议用select模型来管理socket,不用创建多线程,还能很好的管理套接字。 为什么不能调用另一个对话框的EDIT值 关于ActiveX控件内调用dll的导出函数,运行,debug没问题,release出错。 有些文件明明是存在的,为什么VC说找不到? 急救,请高手帮我看看关于vector问题 高手讨论区,嘿嘿,阻塞与非阻塞的困惑 请问如何判断一个字符串是否全是数字字符? 为什么有的子程序,VC6编译器会在他的开始加上一些。。。。 哪位大哥能给我一本com的入门教程 给下载地址也行 NT Service问题,如何解决? 有什么办法可以得到clistctrl中的某行某列 mfc如何让textbox只读不写 点击button按钮进入工作界面问题。急急急!!!!
主线程创建所有子线程之后,等待所有子线程返回。
2.WaitForMultipleObjects来保证
给楼主两个建议:
1.如果是学习为主要目的,建议从头开始看,Socket网络通信编程,有了理论看那些API才有感触。
包括以后面试都问这些基础。2.如果楼主是完成工作为目的,建议尝试网络通信模型,Select模型,epoll模型等等。
2.最简单的用select模型,单线程负责N个socket通信,比你上面写的形式来的合理
如果不丢失的话用select模型确实是个好主意。
另外,非常感谢你的建议。这个问题基于工作。windows网络编程技术基本上浏览了一遍,对其中的几个模型也只是了解了,如果可以用select的话,这儿正好能实践下。
1.返回的消息是保存在socket缓存中的,数据会随socket一起销毁,如果一直不处理,等缓存满了,将接受不到消息。
2.建议用select模型来管理socket,不用创建多线程,还能很好的管理套接字。