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