返回信息流大致的流程是这样的:若干个客户端连接上服务器,服务器每隔1s向每个客户端异步发送一条消息,客户端收到消息后立即回复,这里出现个问题:服务器接收到的客户端的信息会产生冲突,就是收到的编号为1的客户端的信息内容却是其他客户端发送的,有时还出现接收到的所有信息为同一条的情况发生。这个问题怎么解决有人知道吗?
这是一条镜像帖。来源:北邮人论坛 / dot-net / #1815同步于 2010/5/22
该镜像源已超过 30 天没有更新,可能在源站已被删除。
dotNET机器人发帖
[求助]有关异步socket通信
hom
2010/5/22镜像同步9 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
你是怎么实现的?
你怎么知道收到的编号为1的客户端信息是其他客户端的?
客户端是确定的话,反馈信息可以加客户端的信息
【 在 hom (シャナ様) 的大作中提到: 】
: 大致的流程是这样的:若干个客户端连接上服务器,服务器每隔1s向每个客户端异步发送一条消息,客户端收到消息后立即回复,这里出现个问题:服务器接收到的客户端的信息会产生冲突,就是收到的编号为1的客户端的信息内容却是其他客户端发送的,有时还出现接收到的所有信�
上代码
实在没看懂你描述的
【 在 hom (シャナ様) 的大作中提到: 】
: 大致的流程是这样的:若干个客户端连接上服务器,服务器每隔1s向每个客户端异步发
: 送一条消息,客户端收到消息后立即回复,这里出现个问题:服务器接收到的客户端的信
: 息会产生冲突,就是收到的编号为1的客户端的信息内容却是其他客户端发送的,有时还
: 出现接收到的所有信�
【 在 derkaiser 的大作中提到: 】
: 上代码
: 实在没看懂你描述的
楼主的意思是
客户端按照IPEndPoint区分
然后A客户端发出的消息,服务端接收却显示发送者IPE为B客户端
不用看了,肯定是多线程未加锁
【 在 xnonx 的大作中提到: 】
:
: 【 在 derkaiser 的大作中提到: 】
: : 上代码
: ...................
对对 就是这个意思= = 多线程加锁怎么实现的呢? 谢谢~~
【 在 hom 的大作中提到: 】
: :
: : 【 在 derkaiser 的大作中提到: 】
: : : 上代码
: ...................
代码太多了= = socket通信方面我封装了一个类库 源码找不着了 不过测试过没问题 主要是服务器端代码我估计
附件(15.8KB) MainWindow.xaml.cs
【 在 tony1986 的大作中提到: 】
: 客户端可每隔1秒就来连服务器,连上的就给他发信息,
: --
问题是协议规定必须由主机主动发送消息,客户端只需要在收到消息的时候反馈就行了