首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

c# socket链接测试工具的有关问题

2013-09-25 
c# socket链接测试工具的问题写了一个socket链接的小程序,本来是要做并发连接数的检查的,现在不知道是哪里

c# socket链接测试工具的问题
写了一个socket链接的小程序,本来是要做并发连接数的检查的,现在不知道是哪里的问题,在循环创建链接的时候一次性创建大于1800个链接的时候出现链接没有正常连上去的问题,而且能连上去的只有一百多个,不知道大家有没有这方面的问题,还是程序处理太快了,服务器不响应了,导致我的链接断开了。
请高手指教,谢谢!


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net;           
using System.Net.Sockets;   
using System.Threading;     

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            IPEndPoint ipep = new IPEndPoint(IPAddress.Parse("192.168.5.196"), 7010);
            for (int i = 1; i < 1800; i++)
            {
                Socket socket = new Socket(ipep.AddressFamily, SocketType.Stream, ProtocolType.Tcp);
                
                socket.Connect("192.168.5.196", 7010);
                if (socket.Connected)
                {
                    Console.WriteLine("连接成功"+i);
                }
            }
            Console.ReadLine();
            for (int i = 1; i < 1800; i++)
            {
                Socket socket = new Socket(ipep.AddressFamily, SocketType.Stream, ProtocolType.Tcp);

                socket.Connect("192.168.5.196", 7010);
                if (socket.Connected)


                {
                    Console.WriteLine("连接成功" + i);
                }
            }
            Console.ReadLine();
        }
    }
}


[解决办法]
socket服务器是可以设置并发上限的,如果满了,就会进入等待队列,超时不处理就断了~~你最好给出服务端的代码

还有,你怎么测试真是强大~~加个List<Socket>来保存好点,一是维持状态,二是测试完后作正常断开处理

热点排行