首页 > 代码库 > python-socket2
python-socket2
UDP,服务端
#! /usr/bin/env python #coding=utf-8 import socket #创建socket,指定ipv4,udp类型 s = socket.socket(socket.AF_INET,socket.SOCK_DGRAM) #绑定端口 s.bind((‘127.0.0.1‘,8622)) #绑定端口和TCP一样,但是不需要调用listen()方法,而是直接接收来自任何客户端的数据: print("绑定端口 8622") while True: #接收数据 data,addr = s.recvfrom(1024) print(data,"接收来自 %s:%s"% addr) data = data.decode(‘utf-8‘) print(data) data = "hello " + data print(data) data = data.encode(‘utf-8‘) #print(type(data)) s.sendto(data, addr)
UDP,客户端
#! /usr/bin/env python #coding=utf-8 import socket s = socket.socket(socket.AF_INET,socket.SOCK_DGRAM) for data in [b‘xr1‘,b‘xr2‘,b‘xr3‘]: #发送数据 s.sendto(data, (‘127.0.0.1‘, 8622)) #接收数据 print(s.recv(1024).decode(‘utf-8‘)) s.close()
结果:
遇到一些问题,传参数的时候,提醒参数不符合类型
s.encode(encoding) -> bytes
b.decode(encoding) -> str
bytes 就是一堆字节,str 是字符串;你把字符串按某种编码编码之后就成了一堆字节,正确地解码后就成了字符串。
字符串转成字节的三种方式
str=‘zifuchuang‘
第一种 b‘zifuchuang‘
第二种bytes(‘zifuchuang‘,encoding=‘utf-8‘)
第三种(‘zifuchuang‘).encode(‘utf-8‘)
python-socket2
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。