我在监听TCPListener中的连接时遇到问题,基本上我是在不同的线程上运行它,因为:
listenThread = new Thread(new ThreadStart(Listen));
void Listen(...)
{
while (true)
{
Socket socket = Listener.AcceptSocket();
Connection connection = new Connection(socket);
connection.onInit();
Thread.Sleep(100);
Listen();
}
}
我不知道接下来要做什么来解决这个“Stackoverflow”异常,我需要在不同的线程上监听连接,就像我编写它的方式,修改它的任何建议?
答案 0 :(得分:4)
Listen()
正在调用自身,最终会导致堆栈溢出。
只需在while循环结束时删除对Listen()
的调用。