TCP连接在c#中丢失了问题

时间:2010-05-01 00:14:54

标签: c# sockets

在我的应用程序中,我有一台服务器正在侦听localhost上的端口以进行客户端连接。然后我让客户端运行并建立与服务器的连接。我在c#中使用tcpListner作为服务器,客户端使用Inet函数在perl中编写。

客户端和服务器之间的连接建立没有问题,服务器收到客户端的消息。但是,大约3到4秒后,连接丢失。我使用netstat -a来查看连接的状态是否仍然“已建立”。在DOS上使用netstat命令后,结果是“Close_wait”。

如何调试此问题?哪一方导致连接丢失?

由于

编辑:

$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 个答案:

答案 0 :(得分:1)

使用Microsoft Network Monitor或Wireshark捕获网络数据包,或使用System.Net跟踪。

如果没有这样的分析,就不容易分析和处理套接字问题。