Install
openclaw skills install tcpHelps with TCP sockets, client/server connections, and network debugging. Use when the user needs to open TCP connections, write socket code, test ports, debug connection refused or timeouts, or work with raw TCP protocols.
openclaw skills install tcp本 Skill 帮助处理 TCP 连接、套接字编程和常见网络调试:建立连接、收发数据、测试端口、以及排查连接失败或超时等问题。
当用户提到或需要:
PowerShell(Windows):
Test-NetConnection -ComputerName host -Port port
或使用 .NET 套接字简单测端口(脚本中):
$tcp = New-Object System.Net.Sockets.TcpClient; $tcp.Connect("host", port); $tcp.Close()
netcat(nc)(若已安装):
nc -zv host port
交互收发:
nc host port
telnet(多数系统已弃用或未默认安装,仅作备选):
telnet host port
根据用户当前 OS 优先给出可用方案(如 Windows 用 Test-NetConnection 或 PowerShell 脚本)。
注意:不同语言 API 不同,只给思路或该语言下的最小示例,避免冗长。
socket.socket(socket.AF_INET, socket.SOCK_STREAM),connect()/bind()+listen()+accept(),send()/recv()。注意 recv 可能一次读不满,需循环或协议约定。net.createConnection(port, host) 或 net.createServer(),事件 data/end/error。net.Dial("tcp", "host:port"),net.Listen("tcp", ":port") + Accept(),Read/Write。TcpClient/TcpListener,或 Socket 类。按用户技术栈给出对应片段,并提醒:收发要处理缓冲与边界,服务端要处理多客户端(多线程/异步/select 等)和优雅关闭。
| 现象 | 可能原因 | 建议 |
|---|---|---|
| Connection refused | 目标端口无服务监听、或防火墙拦截 | 确认服务已启动、监听地址和端口正确;检查本机/目标机防火墙 |
| Timeout | 网络不通、路由/防火墙丢弃、目标未监听 | 先 ping(若允许),再用端口检测工具测目标端口 |
| Address already in use | 端口被占用或 TIME_WAIT 未释放 | 换端口或等待;服务端可考虑 SO_REUSEADDR(依语言/OS) |
| Broken pipe / Connection reset | 对端关闭连接后本端仍写 | 检查关闭顺序与错误处理,写前判断连接是否仍有效 |
127.0.0.1 或 localhost。