当我单击任何内容时,我的 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 应用程序冻结的主要内容,如果未能解决你的问题,请参考以下文章

单击链接会冻结应用程序

单击按钮后,ImGui 冻结

Pyside2 QGuiApplication,Gui冻结按钮点击

Android:单击按钮时切换相机

[当我在颤抖中单击TextField时,我的键盘打开和关闭

COM 自动化 Excel 2010 冻结