windows下一个客户端对应多服务器端问题 看看下面的贴子中关于网络通讯多线程的例子。http://topic.csdn.net/u/20080623/08/4bbd2475-45f1-42e3-a613-16b094759ade.html?62697 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 客户端还要线程啊?客户端大多数都是连接服务器后用时就Send,最多就是使用SendAsync 有几个服务器,就要在客户端建几个socket连接. 通常是不是需要建异步SOCKET,这样是不是可以同时通讯? 同步是串行执行的,可能会阻塞.建议用异步,这样可以同时通讯.BeginConnect BeginReceive等. 用异步连接、异步接收,如果客户端还需要发送数据的话,可以用一个集合来存储当前已连接的Socket,要发送时再从集合中调用相应的Socket 异步的意思是不是就是我连接上了一个socket,利用这个socket进行数据传输的同时可以连接其他socket?另外我想问一下socket类和TcpClient类的联系和区别有哪些? newsock.Listen(10);//同时可建立10个连接 这样就可以了 异步的意思是不是就是我连接上了一个socket,利用这个socket进行数据传输的同时可以连接其他socket?不是,异步是指你连接时不阻塞当前线程.你还是要用多个socket连接多个服务器,不是一个socket连多个服务器. 嗯,我知道的,要建立多个socket。是不是每个socket都要异步连接?譬如,我每个socket中都有一个发送线程和接收线程,是不是异步连接后这两个线程不会互相阻塞? 简单的思路1、为每个服务器创建一个线程2、线程中用同步方式操作socket异步不适合你 建议每个socket都要异步连接当然你要同步连接也可以,这样连接会阻塞当前线程.意思就是不管同步异步连接,其实跟你另外的发送接收线程关系不大.在一个主线程中,多个同步连接相当于是串行的,如果每个连接用10ms,10个同步连接共是100ms(用1个线程顺序执行);如果是异步,10个连接共10ms(用10个线程同时执行,当然线程池优化可能用不到10个线程).异步意思就等于.net自动创建线程帮你执行了同步连接,不同的线程执行所以不会阻塞(卡). 将PC作为客户端,服务器端是40个嵌入式系统,现在需要将40个服务器的数据采集上来在PC界面上显示出来,另外PC也要能够发设置参数给服务器,都是由PC发起连接请求的 VS2010 编辑环境的字体怎么改到Fixeddays? C# 怎么处理关闭事件 关于调用文件的问题 如何注册com组件??(xp的操作系统),谢谢! 为什么我的椎栈会是空栈? cpu 8%,内存260,死机? 不行了,我是菜鸟,没办法了,求助 请问如何把firefox集成进winform? 求一段把数据库中某个表的数据存入二维数组的代码 如何在enabled=false的状态下也可以修改控件的BackColor,ForeColor属性 正则表达式一则 接帖续问--C#主程序调用C++DLL出错
客户端大多数都是连接服务器后
用时就Send,最多就是使用SendAsync
建议用异步,这样可以同时通讯.BeginConnect BeginReceive等.
1、为每个服务器创建一个线程
2、线程中用同步方式操作socket异步不适合你
当然你要同步连接也可以,这样连接会阻塞当前线程.
意思就是不管同步异步连接,其实跟你另外的发送接收线程关系不大.在一个主线程中,多个同步连接相当于是串行的,如果每个连接用10ms,10个同步连接共是100ms(用1个线程顺序执行);
如果是异步,10个连接共10ms(用10个线程同时执行,当然线程池优化可能用不到10个线程).异步意思就等于.net自动创建线程帮你执行了同步连接,不同的线程执行所以不会阻塞(卡).
将PC作为客户端,服务器端是40个嵌入式系统,现在需要将40个服务器的数据采集上来在PC界面上显示出来,另外PC也要能够发设置参数给服务器,都是由PC发起连接请求的