socket网络编程udp

本文介绍了使用Python实现UDP协议的客户端和服务端程序。通过实例展示了如何进行数据的发送与接收,包括初始化socket、绑定地址、发送消息及接收反馈等核心步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#!/usr/bin/env python
#-*-coding:utf-8-*-
#udp socketserver客户端
import socket

HOST='127.0.0.1'
PORT=3214
s=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)

data='你好!'
s.sendto(data.encode('utf-8'),(HOST,PORT))

while data!='bye':
    dat=b''
    while len(dat)==0:
        dat,addr=s.recvfrom(1024)
    print('收到数据:',dat.decode('utf-8'))
    data=input('请输入要发送的信息: ')
    if data=='':
        data='bye'
    s.sendto(data.encode('utf-8'),(HOST,PORT))

s.close()

#!/usr/bin/env python
#-*-coding:utf-8-*-
#udp 服务端链接
import socketserver

class MyHdl(socketserver.DatagramRequestHandler):
    def handle(self):
        data,socket=self.request
        print('收到: ',data.decode('utf-8'))
        socket.sendto(data,self.client_address)

if __name__=='__main__':
    HOST=''
    PORT=3214 
    s=socketserver.UDPServer((HOST,PORT),MyHdl)
    s.serve_forever()

#!/usr/bin/env python
#-*-coding:utf-8-*-
#udp 客户端
import socket
HOST='127.0.0.1'
PORT=3214
s=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)

data="你好!"

while data:
    s.sendto(data.encode('utf-8'),(HOST,PORT))
    if data=='bye':
        break
    data,addr=s.recvfrom(1024)
    print('Receive from Server:\n',data.decode('utf-8'))
    data=input('Please input an info:\n')

s.close()
#!/usr/bin/env python
#-*-coding:utf-8-*-
#udp 服务器端通信
import socket
HOST=''
PORT=3214
s=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
s.bind((HOST,PORT))
data=True

while data:
    data,addr=s.recvfrom(1024)
    if data==b'bye':
        break
    print('Recieve String:',data.decode('utf-8'))
    s.sendto(data,addr)

s.close()



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值