Socket Communication в C # - IP-порт - PullRequest
1 голос
/ 29 марта 2010

Я тестирую свои программы для сокетов дома, в локальной сети.

Серверные и клиентские программы работают на отдельных машинах.

Сокет серверной программы связан как: serverSocket.Bind (новый IPEndPoint (IPAddress.Parse ("127.0.0.1"), 8999));

Клиентская программа (на другом компьютере) подключена как: clientSocket.Connect (IPAddress.Parse ("192.168.2.3"), 8999);

Почему Клиент не может общаться с сервером? Нужно ли мне настроить брандмауэр или что-то в этом роде? Или я неправильно записываю IP-адрес сервера для клиента? (Я получил это из cmd-> ipconfig сервера)

Ответы [ 2 ]

3 голосов
/ 29 марта 2010

Вы привязываетесь только к локальному IP 127.0.0.1, поэтому ваш сервер будет доступен только с той же машины. Попробуйте следующее:

serverSocket.Bind (новый IPEndPoint (IPAddress.Any), 8999));

2 голосов
/ 29 марта 2010

Поскольку ваш сервер привязан к адресу обратной связи localhost 127.0.0.1. Это ничего не значит , кроме того, что работает на сервере , не может связаться с сокетом.

Вам необходимо:

  • убедитесь, что сервер имеет сетевое соединение в той же подсети, что и клиент (192.168.2.0 или 192.168.0.0) - назовите его «общедоступным» IP-адресом
  • привязать ваш сокет к «общедоступному» IP-адресу сервера или привязать ваш сокет ко всем интерфейсам - обычно со специальным IP-адресом 0.0.0.0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...