紧急求救: socket连接问题
我在电脑A上面,有个程序Program-A开了个Sokcet 端口:
IPEndPoint ipe = null;
Socket _socket = null;
Socket _handler = null;
string _ip = "192.168.1.11";
int _port = 28001
ipe = new IPEndPoint(IPAddress.Parse(_ip), _port);
_socket = new Socket(ipe.AddressFamily, SocketType.Stream, ProtocolType.Tcp);
_socket.Bind(ipe);
_socket.Listen(1);
_handler =_socket.Accept();
Program-A每隔一段时间需要接另外2个程序(B和C)发过来的信息(另外2个程序保证同时只有一个连接program-A)
program -A收到B或者C的结束Message后,会执行
_handler.Shutdown(SocketShutdown.Send);
_handler.Close();
_handler = null;
然后再
_handler =_socket.Accept();
等待其他B或者C的连接。B和C的连接程序如下:
IPEndPoint ipe = null;
Socket t_socket = null;
int _port =28001;
ipe = new IPEndPoint(IPAddress.Parse(_ip), _port);
t_socket = new Socket(ipe.AddressFamily, SocketType.Stream, ProtocolType.Tcp);
t_socket.Connect(ipe);
t_socket.close();
t_socket = null;
现在的问题是,这2个客户连接程序,B在电脑A上(和server端同一个机器),一直运行没有问题,每次都可以正常连接到socket;
另一个程序C运行在另外一台机器上,大部分时间也没有问题,但是偶尔会socket连接不上(10次可能有一次吧),然后客户端和server端都堵塞在那个地方。
请问这是什么原因呢?