日期:2014-05-18  浏览次数:21115 次

winform 客户端发起并发连接如何实现?
目的,为服务端和服务器制造并发连接以及传输大批量数据的压力

客户端:可瞬时对同一IP同端口发起并发量大的连接


客户端有个按钮,按下去就开启发起并发量大的连接


单线程代码如下

  Thread sendThread = new Thread(delegate()
  {
  //实例化 套接字 (ip4寻址协议,流式传输,TCP协议)
  socketSend = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);

  //创建 ip对象
  IPAddress address = IPAddress.Parse(this.remoteIP.Trim());

  //创建网络节点对象 包含 ip和port
  IPEndPoint endpoint = new IPEndPoint(address, this.remotePort);

  try
  {
  socketSend.Connect(endpoint);
  }
  catch (Exception ex)
  {
  this.lbl_alertMessages.Text = ex.Message.ToString();
  return;
  }

  if (socketSend.Connected)
  {
  //一个timer,按照reportPeriodicTime的时间来发送数据 
  reportTimer.AutoReset = true;
  reportTimer.Interval = this.reportPeriodicTime * 1000;

  //SendMessages(发送数据方法)
  reportTimer.Elapsed += new System.Timers.ElapsedEventHandler(SendMessages);
  reportTimer.Enabled = true;
  }
  });
  sendThread.Start();
 

------解决方案--------------------
线程池,c#本身有一个线程池,你可以用一下
------解决方案--------------------
用线程池吧