读书人

同时创建多个socket怎么解决

发布时间: 2012-04-23 13:17:38 作者: rapoo

同时创建多个socket如何解决?
目的,为服务端和服务器制造并发连接以及传输大批量数据的压力

客户端:可瞬时对同一IP同端口发起并发量大的连接,并且保持这些连接不断开。


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



按钮点击事件里面

#region
//在这里tcpCounts为要并发的连接数量
for (int i = 0; i < this.tcpCounts; i++)
{
ThreadPool.QueueUserWorkItem(delegate { UseThreadPool(); });
}
#endregion

//使用连接池方法
private void UseThreadPool()
{
// 实例化 套接字 (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() + this.threadName;
return;
}

if (socketSend.Connected)
{
reportTimer.AutoReset = true;
reportTimer.Interval = this.reportPeriodicTime * 1000;
reportTimer.Elapsed += new System.Timers.ElapsedEventHandler(SendMessages);
reportTimer.Enabled = true;
}
}


报的是"在一个已经连接的套接字上做了一个连接请求"错误
请问如何解决呢?

[解决办法]

创建多个socket 为何解?

给你一个例子吧 http://blog.csdn.net/fengyarongaa/article/details/6631953

读书人网 >C#

热点推荐