为什么不是所有数据包都发送到客户端?

时间:2010-07-19 13:51:23

标签: c# sockets proxy packets

我正在为C#中的在线游戏编写一个简单的代理(更多的数据包记录器)。代理接收所有数据包,但有些数据包不会发送到客户端(不确定服务器)。 例如:

客户端 - >服务器:登录数据包 - 我的代理接收数据包,显示它并将其发送到服务器。

服务器 - >客户端:已连接!数据包 - 我的代理再次接收数据包,它也会显示它并将其发送给客户端。

服务器 - >客户端:聊天频道数据包 - 我的代理再次接收数据包,它也显示它但客户端没有收到它。没有例外。

我的代码:http://lesderid.pastebin.com/Km7vT2jF

(这是与此处相同的项目:Why can't I send to the listening socket anymore?

1 个答案:

答案 0 :(得分:1)

这只是简单阅读代码:

  1. 不要绑定到127.0.0.1。绑定到IPAddress.Any
  2. OnDataReceivedFromServer需要致电EndReceive
  3. 我不建议在同一个套接字上混合同步(Send)和异步(BeginReceive)操作。