try
            {
                lock (obj_lock)
                {
                    s = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
                    s.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, true);
                    s.SendTimeout = 1000;
                    s.ReceiveTimeout = 1000;
                    s.Connect(new IPEndPoint(IPAddress.Parse("127.0.0.1"), 42000 ));                    s.Send(list.ToArray());
                    s.Receive(buf);
                }
            }
            finally
            {
                if (s != null) s.Close();
            }
客户端使用这个  和本地服务端通讯,   可是并发太高的话就会   监听端就有很多  TIME_WAIT
如果客户端一直   使用一个  SOCKET  和服务端通讯  可以解决吗 ?  该怎么写。
或者和服务端通讯一直使用   一个端口。

解决方案 »

  1.   

    当然可以使用一个SOCKET ,用线程,非阻塞模式,轮询读取(还有其他很多种方法,轮询是最基本的)客户端数据
      

  2.   

    服务端是  C++的  流程是accept
    recv
    send
    cloasecoket
      

  3.   

    我的 代码  在   XP, 03上都没有   time_wait  但是放到  windows2008 上就会有  ..不知道怎么回事
      

  4.   

    http://www.cnblogs.com/peterzb/archive/2009/05/29/1491603.html
      

  5.   

    每接收到一个socket就新起一个线程进行处理,这样就不会阻塞了,处理完了记得销毁线程,或者使用线程池