当我单击任何内容时,我的 P2P 应用程序冻结
Posted
技术标签:
【中文标题】当我单击任何内容时,我的 P2P 应用程序冻结【英文标题】:My P2P app freezes when I clicked anything 【发布时间】:2020-03-25 04:34:38 【问题描述】:我正在开发我的项目,我想在 C# 中使用套接字和线程进行本地 P2P 通信。当我运行我的代码时,我遇到了一些麻烦。
我认为问题出在下一个 while 循环中
while (true)
try
TcpListener listener = new TcpListener(IPAddress.Parse(STD_IP), HOST_PORT);
listener.Start();
using (TcpClient client = listener.AcceptTcpClient())
using (NetworkStream nwStream = client.GetStream())
Thread listenerThread = new Thread(() =>
string message = Receive(nwStream);
updateBoard(message);
);
listenerThread.Start();
string response = stanje;
Send(nwStream, response);
catch (Exception er)
MessageBox.Show("Communication error: \n\n" + er.Message + "\n" + er.StackTrace);
【问题讨论】:
您是否在 main/ui 线程中运行代码(或者在 c# 中调用过什么)?这可能是问题的原因。否则,请提供有关程序其余部分的更多详细信息。 【参考方案1】:while (true)
是一个无限循环,您发布的代码无法逃脱。
【讨论】:
以上是关于当我单击任何内容时,我的 P2P 应用程序冻结的主要内容,如果未能解决你的问题,请参考以下文章