使用Socket搭建视频流时如何查找所需服务的端口号
Socket视频流服务端口查找方法及代码修正
端口查找方法
情况1:自行开发的视频流服务端
端口是你在服务端代码中通过bind方法自行指定的,只要选择1024~65535之间未被其他程序占用的端口即可,服务端和客户端填写的端口必须保持一致才能正常连接。
情况2:查询已运行的视频流服务对应的监听端口
根据你使用的操作系统执行对应命令查看:
- Windows系统:打开命令提示符(cmd),执行命令
netstat -ano | findstr "LISTENING",返回结果中会展示所有正在监听的端口及对应的进程PID,匹配到你的视频流服务进程对应的端口即可。 - Linux/macOS系统:打开终端,执行命令
ss -tulpn | grep LISTEN,即可查看所有监听端口对应的进程信息,找到你的视频流服务对应的端口值。
代码修正示例
你只需要将查找到的端口值填入port变量即可,补全后的代码如下(注意提前导入依赖模块):
import socket import struct # create socket client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) host_ip = '192.168.0.165' # paste your server ip address here port = 9999 # 此处替换为你实际查到的视频流服务端口 client_socket.connect((host_ip, port)) # a tuple data = b"" payload_size = struct.calcsize("Q") # Q: unsigned long long integer(8 bytes)
注意事项
- 确保服务端已经启动并处于端口监听状态,客户端才能正常发起连接
- 确保服务器和客户端所在设备的防火墙没有拦截你使用的端口,否则会出现连接失败的问题
内容的提问来源于stack exchange,提问作者sera
相关产品推荐
相关产品推荐

