You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ZeroMQ连接异常求助:SYN消息无响应问题

ZeroMQ C# 通信异常排查与资源释放需求

问题背景

在Unity项目集成ZeroMQ遇到异常后,改用Visual Studio 2019独立C#控制台项目测试,出现以下异常情况:

  • 连接稳定性差,初始两台电脑间的Pub/Sub及其他套接字通信正常,一两周后Pub/Sub消息完全无法送达
  • 最初仅Unity发送消息时异常,后续控制台项目也出现相同问题,计算机1到计算机2的通信失效,但反向通信正常
  • 切换为Request/Response套接字后曾正常工作,但安装Wireshark后突然失效

网络排查细节

通过Wireshark抓包发现:计算机2向计算机1的3030端口发送SYN请求,但计算机1无响应;但执行netstat命令显示该端口处于监听状态:

TCP    0.0.0.0:3030           COMPUTER_NAME:0            LISTENING

已多次重启计算机1,且普通套接字通信正常,排除IP地址问题,怀疑频繁测试过程中套接字未正确关闭/释放。

测试代码示例

计算机1(Response服务端)

using (ResponseSocket server = new ResponseSocket())
{
        int port = 3030;
        server.Bind($"tcp://*:{port}");
        int i = 0;

        Console.WriteLine($"Server is listening on port {port}");

        while (true)
        {
            string message = server.ReceiveFrameString();
            Console.WriteLine($"Received: {message}");

            string response = $"Thank you, for your message: {i}";
            server.SendFrame(response);
            Console.WriteLine($"Response sent: {response}");
            i++;
            Thread.Sleep(500);

            if (i > 20) break;
        }
}

计算机2(Request客户端)

using (RequestSocket client = new RequestSocket())
{
    string ipAddress = "XX.XX.XXX.XXX"; // Ip Adress is censored
    int port = 3030;
    client.Connect($"tcp://{ipAddress}:{port}");
    int i = 0;

    Console.WriteLine($"Connecting to " + $"tcp://{ipAddress}:{port}");

    while (true)
    {
        string message = i.ToString();
        client.SendFrame(message);
        Console.WriteLine($"Sent: {message}");

        string response = client.ReceiveFrameString();
        Console.WriteLine($"Message received: {response}");
        i++;
        Thread.Sleep(500);

        if (i > 20) break;
    }
}

核心需求

需要实现控制台程序卡住时,先安全释放ZeroMQ套接字资源,再退出程序的方法。

内容的提问来源于stack exchange,提问作者Ecko

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 17:08:23