tcp協議聊天python
服務端::服務器
客戶端socket
udp協議的聊天tcp
############ udp協議 ########### 服務器 import socket sk = socket.socket(type = socket.SOCK_DGRAM) ##udp協議 sk.bind((ip地址,端口號)) while 1: msg_r,addr = sk.recvfrom(1024) ##接收來自哪裏的消息 print(msg_r.decode('utf-8'),addr) ##把收到的內容解碼出來 if msg_r.decode('utf-8') == 'q': continue user = input('>>>') sk.sendto(user.encode('utf-8'),addr) if user == 'q': break sk.close() 客戶端: import socket sk = socket.socket(type = socket.SOCK_DGRAM) while 1: mag = input('>>>>') sk.sendto(mag.encode('utf-8')(服務器ip地址,服務器那邊的端口號) if mag == 'q': break mag_r,addr = sk.recvfrom(1024) print(mag_r.decode(''utf-8)) if mag_r.decode() == 'q': break
################ 時間同步機制 #################### 服務器: import socket ##引進socket模塊 import time ##引進時間模塊 sk = socket.socket(type = socket.SOCK_DGRAM) ##實例化 DGRAM 是udp 這個位置是固定的 sk.bind(ip地址,端口號) while 1: tm_format,addr = sk.recvfrom(1024) ##接收的是1024個字節 tm_format = tm_format.decode('utf-8') ##%Y/%m/%d %H:%M:%S local_tm = time.strftime(tm_format) ##獲取到了對應格式的當前時間 sk.sendto(local_tm.encode('utf-8'),addr) ##返回給客戶端 客戶端: import socket ##引入socket模塊 import time ##引入time模塊 sk = socket.socket(type = socket.SOCK_DGRAM) ##udp協議固定的 tm_format = input('>>>') ##輸入 while 1: sk.sendto(tm_format.encode('utf-8'),(ip地址,端口號)) ##發送出去 local_tm,addr = sk.recvfrom(1024) ##接收1024個字節 print(local_tm,decode('utf-8')) ##解碼 time.sleep(2) ##停頓2秒