python实现socket通讯(UDP)

本文介绍了UDP协议的基本使用方法,包括客户端和服务端的代码实现。客户端通过sendto发送消息,而服务端则通过recvfrom接收并打印消息内容。

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

http://www.91linux.com/html/article/program/python/20090316/16108.html

http://www.91linux.com/html/article/program/python/list_33_6.html

 

UDP协议相比TCP要简单许多,虽然数据无法保证完整性.
先看一下client端的演示代码:

import socket
s = socket. socket( socket. AF_INET, socket. SOCK_DGRAM)
port = 8000
host = '192.168.1.102'
while True:
    msg = raw_input( )
    if not msg:
        break
    s. sendto( msg, ( host, port) )
s. close( )

注意,在创建socket的时候,第二个参数要为SOCK_DGRAM,然后,我们只需要调用sendto即可以了,真是太方便了.
再看看server端代码:

import socket
s = socket. socket( socket. AF_INET, socket. SOCK_DGRAM)
s. bind( ( '192.168.1.102' , 8000) )
while True:
        data, addr = s. recvfrom( 1024)
        if not data:
                print 'client has exited!'
                break
        print 'received:' , data, 'from' , addr
s. close( )

创建socket后,然后bind至IP及端口.下一步在循环中接受数据.recvfrom的返回值包括两个,data是接受到的数据,addr是连接的client端的地址.真是太方便了.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值