Python网络编程SOCKET使用UDP传输数据

2025-11-20 23:50:18

1、打开Python开发工具IDLE,新建‘服务端.py’文件,并写代码如下:

import socket

ip = ('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的方式,也是默认方式

Python网络编程SOCKET使用UDP传输数据

2、继续编写接收数据流的循环,代码如下:

while True:

    bdata = sudp.recv(1024)

    print (bdata)

recv函数中参数代码,接收数据流大小,这里是1024个字节

Python网络编程SOCKET使用UDP传输数据

3、再打开一个IDLE,新建‘客户端.py’文件,编写代码如下:

import socket

ip = ('127.0.0.1',5000)

sudpc = socket.socket(socket.AF_INET,socket.SOCK_DGRAM,0)

这里也是新建一个socket,代码类似服务端

Python网络编程SOCKET使用UDP传输数据

4、继续编写客户端发送数据,代码如下:

while True:

    invalue = input('数据:').strip()

    if invalue == 'exit':

        break

    sudpc.sendto(bytes(invalue,encoding = "utf-8"),ip)

sudpc.close()

Python网络编程SOCKET使用UDP传输数据

5、在‘服务端.py’和‘客户端.py’分别运行程序,在客户端输入数据回车后,可以看到在服务端打印出数据。

Python网络编程SOCKET使用UDP传输数据

Python网络编程SOCKET使用UDP传输数据

6、这里是字节流接收了数据,如果改写成字符串,需要解码,改写‘

服务端.py’代码如下:

import socket

ip = ('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'))

   

Python网络编程SOCKET使用UDP传输数据

7、重复第5步,再次通过客户端发送内容,服务端以字符串形式打印处理了

Python网络编程SOCKET使用UDP传输数据

Python网络编程SOCKET使用UDP传输数据

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢