как узнать порт клиента и IP-адрес в программе сокета-клиента в С#

113
16

Возможный дубликат:
как узнать порт клиента и IP-адрес в программе сокета клиента в java

Я создал множественную связь client- сервера в С#, используя сокет. У меня есть один сервер и клиент. Я хочу проверить свою программу несколькими клиентами. я планирую создать стимулятор, который динамически создает ip и порт. Для этого я просто хочу знать, как установить клиентский ip и порт в программе сокета. Может кто-нибудь мне помочь.

socket m_socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.IP);                                   

спросил(а) 2021-01-27T11:20:06+03:00 8 месяцев, 3 недели назад
1
Решение
65

как установить клиентский ip и порт в сокет

Прежде чем вы выполните Socket.Connect(), вы можете Bind() сокет с локальным адресом следующим образом:

var socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.IP);
var addr = new IPAddress(new byte[] { 192, 168, 1, 115 });
var ep = new IPEndPoint(addr, 0);
socket.Bind(ep);

Однако, как только вы укажете IP-адрес, который не связан с каким-либо адаптером на вашем компьютере, "запрошенный адрес недействителен в его контексте". исключение будет выбрано.

я хочу протестировать мою программу с несколькими клиентами

Поэтому просто запустите своего клиента несколько раз.

ответил(а) 2021-01-27T11:20:06+03:00 8 месяцев, 3 недели назад
46

Вы прочитали тему MSDN Socket Constructor (AddressFamily, SocketType, ProtocolType)? Там довольно очевидный пример на странице.

ответил(а) 2021-01-27T11:20:06+03:00 8 месяцев, 3 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема