1.Python网络编程_UDP(简略版)

 1 # -*- coding: utf-8 -*-
 2 #2019-11-24
 3 
 4 import socket
 5 
 6 def recv():
 7     udp_socket=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
 8     #socket.AF_INET
 9     # ip地址和端口号,ip一般不用写,表示本机的任何一个ip
10     local_addr=('',7788)
11     udp_socket.bind(local_addr)
12     while True:
13         print("OK!
")
14         #等待接收方发送的数据,recvfrom()返回一个list,list[0]是消息,list[1]是发送方的ip和port
15         recv_data=udp_socket.recvfrom(1024) #1024表示本次接收的最大字节数
16         recv_msg=recv_data[0]
17         recv_addr=recv_data[1]
18         #显示收到的数据
19         if recv_msg.decode("gbk")=="exit":
20             print("通信结束!")
21             return
22         print("%s: %s
"%(str(recv_addr),recv_msg.decode("gbk")))
23         print(type(recv_addr))
24     #关闭套接字
25     udp_socket.close()
26 
27 if __name__=='__main__':
28     recv() 
 1 # -*- coding: utf-8 -*-
 2 import socket
 3 
 4 def send():
 5     #创建一个套接字
 6     udp_socket=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
 7     # AF_INET, SOCK_DGRAM 表示使用UDP套接字
 8     #准备接收方的地址
 9     ihdu="10.66.73.201"
10     local_addr=('',9999)
11     dest_tuple=(ihdu,7788) 
12     udp_socket.bind(local_addr) #绑定套接字,表示接收信息的ip和port
13     while True:
14         #从键盘获取数据
15         send_data=input("请输入您要发送的内容: ")
16         #发送数据到指定电脑的指定程序中,网络通信中需要使用字节型数据,所以使用encode('utf-8)')
17         udp_socket.sendto(send_data.encode("utf-8"),dest_tuple) 
18         if send_data=='exit':
19             print("通信结束!")
20             return
21     #关闭套接字
22     udp_socket.close()
23 
24 if __name__ == "__main__":
25     send()
原文地址:https://www.cnblogs.com/NiBosS/p/11921430.html