C# 套接字程序使计算机崩溃
这是代码。如果你试图运行,该程序将使你的计算机崩溃C# 套接字程序使计算机崩溃,c#,C#,这是代码。如果你试图运行,该程序将使你的计算机崩溃 IPEndPoint ip = new IPEndPoint(IPAddress.Any, 10000); Socket sk = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); sk.Bind(ip); sk.Listen(100); while (true) { sk.BeginAccept(new Asyn
IPEndPoint ip = new IPEndPoint(IPAddress.Any, 10000);
Socket sk = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
sk.Bind(ip);
sk.Listen(100);
while (true) {
sk.BeginAccept(new AsyncCallback(OnReveive), sk);
}
private static void OnReveive(IAsyncResult ar) {
Socket sock = (Socket) ar.AsyncState;
Socket cl = sock.EndAccept(ar);
Console.WriteLine("New Connection from" + cl.RemoteEndPoint.ToString());
}
我想问为什么它会使我的电脑崩溃
while (true) {
sk.BeginAccept(new AsyncCallback(OnReveive), sk);
}
beginacept
是一种异步方法,它可以立即返回,因此您的代码可以用new AsyncCallback(onrevive)
回调快速填充内存池。只调用一次,不要在调用时将其放入
或者调用阻塞方法
beginacept
是一种异步方法,它可以立即返回,因此您的代码可以用new AsyncCallback(onrevive)
回调快速填充内存池。只调用一次,不要在调用时将其放入
或者调用阻塞方法。那么这里的问题是什么?我不知道它为什么会使我的计算机崩溃。那么,你能回答@Krohn关于它如何使你的计算机崩溃的问题吗?会发生什么?它是否以蓝色屏幕结束?它挂起来了吗?它着火了吗?它是否会直接撞到墙上,从而在物理上“崩溃”呢?它表现不好的原因是因为您在一个紧密的循环中启动异步操作,很快就会填满其中一个池,可用连接对象池、句柄池、内存池、线程池、,等等。我希望你理解代码的作用,并且问题不是“我如何正确地做到这一点”?这看起来很难让计算机崩溃。那么这里的问题是什么?我不知道它为什么会使我的计算机崩溃。好的,你能回答@Krohn关于它如何使你的计算机崩溃的问题吗?会发生什么?它是否以蓝色屏幕结束?它挂起来了吗?它着火了吗?它是否会直接撞到墙上,从而在物理上“崩溃”呢?它表现不好的原因是因为您在一个紧密的循环中启动异步操作,很快就会填满其中一个池,可用连接对象池、句柄池、内存池、线程池、,等等。我希望你理解代码的作用,问题不是“我如何正确地做这件事”?这看起来很难让电脑崩溃。我发现了,但不确定这是否是他的问题。接得好:我猜到了,但不确定这是否是他的问题。接得好:P