Python网络编程SOCKET使用UDP传输数据
1、打开Python开发工具IDLE,新建‘渲舫蒇芘服务端.py’文件,并写代码如下:import socketip = ('127.0.0.1',5000)sudp = socket.socket(socket.AF_INET,socket.SOCK_DGRAM,0)sudp.bind(ip)导入socket模块,新建一个socket对象,其中第一个参数是ip类型AF_INET代码ipv4的ip地址,第二参数是代表UDP传输方式,如果是SOCK_STREAM则是TCP的方式,也是默认方式
2、继续编写接收数据流的循环,代码如下:while True: bdata = sudp.recv(1024) print (bdata)recv函数中参数代码,接收数据流大小,这里是1024个字节
3、再打开一个IDLE,新建‘客户端.py’文件,编写代码如下:import socketip = ('127.0.0.1',5000)sudpc = socket.socket(socket.AF_INET,socket.SOCK_DGRAM,0)这里也是新建一个socket,代码类似服务端
4、继续编写客户端发送数据,代码如下:while True: invalue = input('数据:').strip() if invalue == 'exit': break sudpc.sendto(bytes(invalue,encoding = "utf-8"),ip)sudpc.close()
5、在‘服务端.py’和‘客户端.py’分别运行程序,在客户端输入数据回车后,可以看到在服务端打印出数据。
6、这里是字节流接收了数倌栗受绽据,如果改写成字符串,需要解码,改写‘服务端.py’代码如下:import socketip = ('127.0.0.1',5000)sudp = socket.socket(socket.AF_INET,socket.SOCK_DGRAM,0)sudp.bind(ip)while True: bdata = sudp.recv(1024) print (bdata) print (str(bdata,encoding='utf8'))
7、重复第5步,再次通过客户端发送内容,服务端以字符串形式打印处理了