Почему не все пакеты отправляются клиенту? - PullRequest
0 голосов
/ 19 июля 2010

Я пишу простой прокси-сервер (больше - регистратор пакетов) для онлайн-игры на C #.Все пакеты принимаются прокси, но некоторые не отправляются клиенту (не уверен насчет сервера).Например:

Клиент-> Сервер: пакет входа в систему - Мой прокси-сервер получает пакет, отображает его и отправляет на сервер.

Сервер-> Клиент: Подключен!Пакет - Мой прокси-сервер снова получает пакет, он также отображает его и отправляет клиенту.

Сервер-> Клиент: пакет каналов чата - Мой прокси-сервер снова получает пакет, он также отображает его, но клиентне получить это.Исключений нет.

Мой код: http://lesderid.pastebin.com/Km7vT2jF

(Это тот же проект, что и здесь: Почему я больше не могу отправить в гнездо для прослушивания? )

1 Ответ

1 голос
/ 19 июля 2010

Это просто из краткого прочтения кода:

  1. Не связывать с 127.0.0.1. Привязать к IPAddress.Any вместо.
  2. OnDataReceivedFromServer нужно позвонить EndReceive.
  3. Я не рекомендую смешивать синхронные (Send) и асинхронные (BeginReceive) операции в одном сокете.
...