Python端口占用代码
windows 端口相关
动态端口查询
netsh int ipv4 show dynamicport tcp 协议 tcp 动态端口范围 --------------------------------- 启动端口 : 49152 端口数 : 16384
动态端口设置
需要再管理员命令行下:
netsh int ipv4 set dynamicport tcp start=49152 num=2000
Python实现的端口测试接口
客户端
#!/usr/bin/python # -*- coding: UTF-8 -*- # 文件名:client.py from ast import Try import socket # 导入 socket 模块 import sys socketList = [] host = socket.gethostname() # 获取本地主机名 remoteHost = '192.168.3.171' remotePort = 6000 # 设置端口号 errNum = 0 ToTalNum = 0 errPorts = {} print("请通过\'netsh int ipv4 show dynamicport tcp\'查看启动端口和端口数,一般情况下该值为49152") start = eval(input("启动端口:")) end = eval(input("终止端口:")) for i in range(start , end): ToTalNum += 1 s = socket.socket() # 创建 socket 对象 localHostAndPort = (host,i) try: s.bind(localHostAndPort) if s.connect((remoteHost, remotePort)) == socket.error: print('FAILED', i) print(s.recv(1024).decode(), i) socketList.append(s) except OSError as e: errNum += 1 errPorts[i] = (localHostAndPort, "OSError:", e) print("Total Port Number(%r)"%ToTalNum, "Error Port Number(%r)"%errNum) print("Error Ports:") for err in errPorts.keys(): print(err, errPorts[err]) if len(errPorts) == 0: print("All Ports success (%d) ~"%start, "(%d)"% end) print("输入\'exit\'关闭CLIENT:") char = input() while char != "exit": # print(char) char = input() for skt in socketList: skt.close() # print(socketList)
服务端
#!/usr/bin/python # -*- coding: UTF-8 -*- # 文件名:server.py import socket # 导入 socket 模块 s = socket.socket() # 创建 socket 对象 host = socket.gethostname() # 获取本地主机名 port = 12345 # 设置端口 s.bind((host, port)) # 绑定端口 msg = 'Success!' #strip默认取出字符串的头尾空格 s.listen(5) # 等待客户端连接 while True: c,addr = s.accept() # 建立客户端连接 print('连接地址:', addr) c.send(msg.encode('utf-8')) c.close() # 关闭连接
本文来自博客园,作者:StimuMing,转载请注明原文链接:https://www.cnblogs.com/fole-del/p/15828727.html
分类:
,
,
标签:
,
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步