网络编程: 基于UDP协议的socket
生活随笔
收集整理的這篇文章主要介紹了
网络编程: 基于UDP协议的socket
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
udp是無鏈接的,啟動服務之后可以直接接受消息,不需要提前建立鏈接
?
UDP協議的通信優勢:
???????允許一個服務器同時和多個客戶端通信,
TCP不行
?
服務端
import socketsk = socket.socket(type=socket.SOCK_DGRAM) sk.bind(('127.0.0.1', 8888))while 1:# 接收msg_r, addr = sk.recvfrom(1024)str_msg = msg_r.decode('utf-8')if str_msg == 'q':continueelse:# 用':'分割字符串一次 變成列表lis = str_msg.split(':', 1)# 姓名na = lis[0].strip()# 信息info = lis[1].strip()print('\033[1;37;40m' + na + ':\033[0m' + info)# 發送msg_s = input('我:')if msg_s != 'q':sk.sendto(msg_s.encode('utf-8'), addr)else:sk.sendto(msg_s.encode('utf-8'), addr)breaksk.close()?
客戶端
import socket name = input('請輸入你的姓名:\n') sk = socket.socket(type=socket.SOCK_DGRAM)while 1:# 發送msg_s = input('>>>')if msg_s != 'q':sk.sendto((name +':'+ msg_s).encode('utf-8'),('127.0.0.1',8888))else:sk.sendto((msg_s).encode('utf-8'),('127.0.0.1',8888))break# 接收msg_r,addr = sk.recvfrom(1024)if msg_r.decode('utf-8') == 'q':breakelse:print(msg_r.decode('utf-8'))?
轉載于:https://www.cnblogs.com/niuli1987/p/9470035.html
總結
以上是生活随笔為你收集整理的网络编程: 基于UDP协议的socket的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2019网易校招
- 下一篇: springboot-文件上传xls及P