一、套接字UDP

  udp是无链接的,先启动哪一端都不会报错  

UDP(user datagram protocol,用户数据报协议)是无连接的,面向消息的,提供高效率服务。不会使用块的合并优化算法,, 由于UDP支持的是一对多的模式,所以接收端的skbuff(套接字缓冲区)采用了链式结构来记录每一个到达的UDP包,在每个UDP包中就有了消息头(消息来源地址,端口等信息),这样,对于接收端来说,就容易进行区分处理了。 即面向消息的通信是有消息保护边界的。

    服务器

#服务器

 ss = socket()   #创建一个服务器的套接字
 ss.bind()       #绑定服务器套接字
 inf_loop:       #服务器无限循环
     cs = ss.recvfrom()/ss.sendto() # 对话(接收与发送)
 ss.close()                         # 关闭服务器套接字

  客户端  

#客户端

cs = socket()   # 创建客户套接字
comm_loop:      # 通讯循环
    cs.sendto()/cs.recvfrom()   # 对话(发送/接收)
cs.close()                      # 关闭客户套接字

  udp套接字简单示例  

 1 #_*_coding:utf-8_*_
 2 __author__ = 'Linhaifeng'
 3 import socket
 4 ip_port=('127.0.0.1',9000)
 5 BUFSIZE=1024
 6 udp_server_client=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
 7 
 8 udp_server_client.bind(ip_port)
 9 
10 while True:
11     msg,addr=udp_server_client.recvfrom(BUFSIZE)
12     print(msg,addr)
13 
14     udp_server_client.sendto(msg.upper(),addr)
服务器

相关文章: