2010-07-02 2 views
0

Мой компьютер настроен на автоматическое получение IP-адреса. Когда я использую ipconfig /all, он показывает что-то, как показано ниже:TcpClient SocketException. NET

Windows IP Configuration 

PPP adapter Broadband Connection: 

Connection-specific DNS Suffix . : 
IPv4 Address. . . . . . . . . . . : 95.38.95.204 
Subnet Mask . . . . . . . . . . . : 255.255.255.255 
Default Gateway . . . . . . . . . : 0.0.0.0 

Ethernet adapter Local Area Connection: 

Connection-specific DNS Suffix . : 
Link-local IPv6 Address . . . . . : fe80::64d7:e4ee:ba7e:1ede 
IPv4 Address. . . . . . . . . . . : 192.168.72.198 
Subnet Mask . . . . . . . . . . . : 255.255.255.0 
Default Gateway . . . . . . . . . : 192.168.0.1 

Должен ли я использовать 95.38.95.204 или 192.168.72.198 в качестве IP-адреса для сервера и клиента?

Когда я 192.168.72.198, сервер подключен успешно, но клиент бросил SocketException, как показано ниже

var tcpServer = new TcpClient(); 
tcpServer.Connect(new IpAddress("192.168.72.198"), 1986); 

Попытка подключения не удалась, поскольку подключенная сторона не ответила после определенного периода времени, или установленное соединение не удалось потому что подключенный хозяин не смог ответить 192.168.72.198:1986

Я использовал эти статьи на geekpedia в http://www.geekpedia.com/tutorial239_Csharp-Chat-Part-1---Building-the-Chat-Client.html

Спасибо, если кто-нибудь может мне помочь.

ответ

1

Если вы тестируете его на своем собственном компьютере, вы можете использовать 127.0.0.1 или "localhost".

Вы должны использовать IPv4-адрес в целом (192.168.72.198).

Похоже, что у вас нет вашего сервера, уже запущенного на этом сокете.

+0

спасибо, но автор статьи сказал, что мы можем использовать 192.168.72.198, и это должно работать правильно. но на моем компьютере нет. Мне нужно изменить любой раздел настройки сети? я использую Windows 7, иначе, когда я выключаю свой модем adsl и получаю команду ipconfig, результат ничего не говорит и говорит, что Media отключен – Sadegh

+1

Я согласен с Graphain; наиболее вероятной причиной этой ошибки является то, что ваш серверный процесс не запущен. Вы можете проверить это, запустив 'netstat -a' и ища порт' 1986' в состоянии «Listening». Что касается вашего комментария, вам нужна сеть, чтобы иметь сетевой адрес; поэтому 192.168.72.198 уходит, когда вы выключаете свой модем. –

+0

@Stephen, когда я запускаю netstate -a на cmd, который показывает это: ** TCP 192.168.72.198:1986 Sadegh-PC: 0 LISTENING **, но мой клиент не может подключиться к этому ip: порт и исключение SocketException (timeout) и соединение не выполнено) – Sadegh

Смежные вопросы