【问题标题】:Why aren't all packets sent to the client?为什么不是所有的数据包都发送到客户端?
【发布时间】:2010-07-20 00:12:39
【问题描述】:

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

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

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

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

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

(这和这里是同一个项目:Why can't I send to the listening socket anymore?

【问题讨论】:

    标签: c# sockets proxy packets


    【解决方案1】:

    这只是对代码的简要阅读:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-02-10
      • 2016-08-30
      • 1970-01-01
      • 2013-03-14
      • 1970-01-01
      • 2019-12-27
      • 2014-07-29
      相关资源
      最近更新 更多