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

Mac平台下使用Python socket模块实现同路由器两台电脑TCP连接的方法

解决Mac平台TCP Socket私有IP连接被拒绝(Connection Refused)的问题

以下是针对性的排查和解决步骤:

  • 确保服务端代码配置正确
    服务端不能只绑定回环地址127.0.0.1(仅本地可访问),必须绑定到0.0.0.0(监听所有网卡)或当前Mac的私有IP。同时要保证服务端先于客户端启动,且无运行报错。示例服务端代码:

    import socket
    
    server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    # 绑定到所有网卡的8888端口,也可替换为你的私有IP如192.168.3.10
    server.bind(('0.0.0.0', 8888))
    server.listen(5)
    print("服务端等待连接...")
    conn, addr = server.accept()
    
  • 检查Mac防火墙设置
    打开「系统设置」→「网络」→「防火墙」,确认允许Python进程接收传入连接。也可临时关闭防火墙测试(测试后建议重新开启),终端执行:

    sudo /usr/libexec/ApplicationFirewall/socketfilterfw --setglobalstate off
    
  • 验证端口是否被占用
    终端执行lsof -i :<你的端口号>(比如lsof -i :8888),查看目标端口是否被其他进程占用。如果被占用,可杀掉对应进程或更换一个1024以上的未使用端口。

  • 确认客户端连接参数无误
    客户端必须使用服务端的私有IP和对应端口,不能出现IP或端口写错的情况。示例客户端代码:

    import socket
    
    client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    # 替换为服务端的私有IP,比如192.168.3.10
    client.connect(('192.168.3.10', 8888))
    
  • 排查局域网连通性
    分别在两台设备上查看私有IP(Mac用ifconfig,Windows用ipconfig),确认处于同一网段(如都是192.168.3.x)。用客户端ping服务端私有IP,若ping不通,检查路由器设置或设备的网络连接状态。

  • 检查第三方安全软件拦截
    部分第三方杀毒或安全工具可能会拦截Socket连接,可暂时关闭这类软件后重新测试。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 00:41:58