TCP соединение потеряло проблемы в c # - PullRequest
1 голос
/ 01 мая 2010

В моем приложении у меня есть сервер, прослушивающий порт на локальном хосте для соединения с клиентом. Затем у меня работают клиенты и устанавливает соединение с сервером. Я использовал tcpListner в c # для сервера, и клиенты были написаны на Perl с использованием функции Inet.

Соединение между клиентами и сервером было установлено без проблем, и сервер получил сообщение от клиента. Однако примерно через 3-4 секунды соединение теряется. Я использую netstat -a, чтобы увидеть, установлено ли состояние соединения. Результат - «Close_wait» после того, как я использую команду netstat в DOS.

Как я могу отладить эту проблему? Какая сторона вызывает потерю связи?

Спасибо

Edit:

$tx_socket = IO::Socket::INET->new( PeerAddr => '127.0.0.1', PeerPort => 9000, 
    LocalPort => 8000, Proto => 'tcp', 
    Type =>SOCK_STREAM, Reuse=>1 ) or die("$!\n"); 
die("init_tx_socket failed!\n") unless $tx_socket; print "Socket good!\n"; 
$tx_socket->autoflush(1); $tx_socket->print("Hello"); 
sleep(5); 
$tx_socket->print("World");

1 Ответ

1 голос
/ 01 мая 2010

Захват сетевых пакетов с помощью Microsoft Network Monitor или Wireshark или использование трассировки System.Net.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...