Используя C# NetTCPBinding и WCF, как мне получить порт, с которого подключается клиент для TCP-связи на одном компьютерC#

Место общения программистов C#
Ответить
Anonymous
 Используя C# NetTCPBinding и WCF, как мне получить порт, с которого подключается клиент для TCP-связи на одном компьютер

Сообщение Anonymous »

Я пытаюсь выяснить, какой метод C# или атрибут некоторой известной переменной я могу использовать для определения информации о клиенте. Общение происходит нормально. Я использую NetTCPBinding и указал порт, скажем, 9000. Насколько я понимаю TCP-соединения, это порт прослушивания, но связь с клиентом будет происходить через другой порт.
Сейчас я просматриваю метод сервера с момента его вызова клиентом и проверяю OperationContext.Current на предмет любой информации, которая могла бы показать, откуда пришло сообщение. Я вижу другой номер порта в разделе OperationContext.Current.Channel.ListenUri.Syntax.m_Port как 808. Я прочитал по этой ссылке https://superuser.com/questions/1159747 ... y-is-port- 808-открыто по умолчанию, что это порт общего доступа к портам от Microsoft. Итак, через этот ли порт происходит общение? Если нет, то как мне получить реальный порт, через который происходит соединение?
(Основная причина этого в том, что я пытаюсь выполнить усиление защиты и гарантировать, что только действительные клиенты - которые всегда будут это та же машина - подключаетесь к этому серверу.)

Подробнее здесь: https://stackoverflow.com/questions/790 ... is-connect
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»