先看部分代码:
private void Run()
{
var ip = Dns.GetHostAddresses(Dns.GetHostName());
var ipep = new IPEndPoint(IPAddress.Any, 6002);
TcpListener listener = new TcpListener(ipep);
listener.Start();
var client = listener.AcceptTcpClient();
Ns = client.GetStream();
while (true)
{
try
{
byte[] buffer = new byte[client.ReceiveBufferSize];
Ns.Read(buffer, 0, buffer.Length);
Ns.Flush();
var Data = tool.DeserializeBinary(buffer) as DY.Model.ManagerObject;
(.....下面省略)
这是一个线程运行的代码
现在的问题是客户端第一次运行正常,然后关掉第二次再运行时,能连接上,但是发送数据时服务器端就接收不到。
如果把var client = listener.AcceptTcpClient(); Ns = client.GetStream();这两句放到while循环里面的情况是每次发开客户端只有第一次服务器端才能收到,之后发都收不到。
请高手指点
犯罪嫌疑人X