python3 udp通信
udp是无连接的,所以用起来比tcp更直接。
服务端操作流程:创建socket -> 绑定 -> 接收数据(获得发送数据的地址) ->发送数据
客户端操作流程: 创建socket -> 发送数据 (客户端也可以执行绑定,这样就没有服务端和客户端之分了)
测试代码
服务端:
创建udp socket和创建tcp socket的区别在于第二个参数,udp是SOCK_DGRAM。
接收数据用recvfrom,返回值为数据和对方的地址(这样就知道是谁发来的)
发送数据用sendto,参数为数据和目的地址(这样就知道要发给谁)
客户端:
客户端代码和服务端差不多,就少了一个绑定。这样它只能先发送数据到服务端才能接收数据。
运行效果
客户端和服务端都收到了数据。