异步 Socket how to ? 本帖最后由 shigaofei1 于 2011-10-09 14:38:01 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我计划使用4条辅助线程和一个主进程 写一个 小的服务器第一条用来 接受新连接第二条用来 处理逻辑第三条用来 发送第四条用来 接受于是在第一关Accept上就遇到了以上的问题,虽然以前也尝试写过,但是效率 非常低,而且也忘得差不多了,请教,在这方面比较懂的达人帮帮忙! 1.BeginAccept和EndAccept是配对用的。2。对,每个用户维护一个socket连接3。同步也能实现循环,只不过效率低。第一条用来 接受新连接第二条用来 处理逻辑第三条用来 发送第四条用来 接受 看来你弄混了。 看看接受的情况(发送同里)。假设已有了两个socket连接。void OnConnectRequest(...){ ..... mySocket.BeginReceive(this.Buffer, 0, BufferSize, SocketFlags.None, GetrecieveData, null); .....}void GetrecieveData(IAsyncResult ar){ //数据处理。 这并不意味着你用同一个线程进行mySocket1,mySocket2的数据处理。这只是个函数,每个调用系统都会分配独立的栈的,对于所有的socket的回调来说都是独立的(不靠率lock的情况)} 一个连接一个Socket那一千个就要有一千个Socket对象,这难道不会 很消耗资源吗?但从这方面来看的话 .net 的网络方面效率 也不会太高啊?我是希望吧整个流程 做成像流水线一样的,第一步,第二步,第三步 步步清晰明了Client对象集合就像是产品,也是按照顺序一个个进行处理发送的方法和接收的方法我希望像机器一样,用的都是同一台机器,只是产品略有一点点差异或者就是做成 静态的专门有个发送器根据每个Client对象所携带的IP等进行发送?这样不行吗?如果不行的话,也太那个什么了吧?你说呢但是,从上面你的回答来看 好像要做到以上几点貌似很难啊.net 的原装 异步 Socket 给我的感觉就一个 “乱”!愁死我了 算了,该死的,自己研究 win32 socket2 去了.net socket 也不见得 那么好用 请问我用VS2005做asp.net网站的时候,如何才能使用UTF-8? [在线等]线程问题 - lock一个对象 抛出异常 【求助】如何给视频文件(rm,avi,wmv,csf等)加中文或英文字幕? 最最简单的继承问题? 或是者 as 的问题 一个可能很简单,但是困扰了我很久的问题 程序配置问题 C# 关于POS58小票打印机的问题 我使用checkbox来控制某个事件时,为什么在切换checkbox的状态时,会报如下错误? 显示窗体的问题 Windows服务 设定时间 在静态方法里,怎么能得到调用者的类名?
第一条用来 接受新连接
第二条用来 处理逻辑
第三条用来 发送
第四条用来 接受于是在第一关Accept上就遇到了以上的问题,虽然以前也尝试写过,但是效率 非常低,而且也忘得差不多了,请教,在这方面比较懂的达人帮帮忙!
2。对,每个用户维护一个socket连接
3。同步也能实现循环,只不过效率低。第一条用来 接受新连接
第二条用来 处理逻辑
第三条用来 发送
第四条用来 接受
看来你弄混了。 看看接受的情况(发送同里)。假设已有了两个socket连接。
void OnConnectRequest(...)
{
.....
mySocket.BeginReceive(this.Buffer, 0, BufferSize, SocketFlags.None, GetrecieveData, null);
.....
}void GetrecieveData(IAsyncResult ar)
{
//数据处理。 这并不意味着你用同一个线程进行mySocket1,mySocket2的数据处理。这只是个函数,每个调用系统都会分配独立的栈的,对于所有的socket的回调来说都是独立的(不靠率lock的情况)
}
但从这方面来看的话 .net 的网络方面效率 也不会太高啊?我是希望吧整个流程 做成像流水线一样的,
第一步,第二步,第三步
步步清晰明了Client对象集合就像是产品,也是按照顺序一个个进行处理
发送的方法和接收的方法我希望像机器一样,用的都是同一台机器,只是产品略有一点点差异
或者就是做成 静态的专门有个发送器根据每个Client对象所携带的IP等进行发送?这样不行吗?如果不行的话,也太那个什么了吧?
你说呢但是,从上面你的回答来看 好像要做到以上几点貌似很难啊
.net 的原装 异步 Socket 给我的感觉就一个 “乱”!
愁死我了
.net socket 也不见得 那么好用