python简单socket通信的实现

基于Python实现简单的tcp和udp传输功能,可以发送自定义格式数据,支持一对多模式。
详细代码参考python-socket

tcp

server

设定IP和端口建立socket实例化对象

server_addr = ('192.168.131.146', 8000)  #本机IP
tcp_server = TcpServer(server_addr)

接着创建监听线程,用于监听客户端的连接。并将客户端加入连接池中

thread = Thread(target=self.listen_thread)

self.client, _ = self.server.accept()  # 阻塞,等待客户端连接
# 加入连接池
conn_pool.append(self.client)

在监听线程中,监听到客户端后,创建与该客户端的发送与接收线程。

thread = Thread(target=self.send)
thread = Thread(target=self.recv)

当客户端退出时,删除之

conn_pool.remove(self.client)
self.client.close()

client

设定服务端IP和端口后,建立发送与接收线程

tcp_client = TcpClient(server_addr)
tcp_client.start()


thread = Thread(target=self.send)
thread = Thread(target=self.recv)

udp

udp部分增加json数据的传输,从文件中读取,后者客户端可进行更改。

server

设定IP和端口建立实例化对象并创建接收信息的线程

udp_server = UdpServer(udp_server_addr)
udp_server.msg_thread()

接收json数据

recv_data, addr = self.server.recvfrom(1024)
recv_data_json = json.loads(recv_data.decode())

client

设定IP和端口建立实例化对象

socket_robot = UdpClient(robot_addr)

读取json数据并发送

config_params = json.dumps(config_params)#触发方式可使用按键事件
socket_robot.send_data(config_params)

注:python2版本,有bug或者描述有问题的地方请见谅。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值