報一下環境:
win10 + pycharm(python3.7)+ mnetassist
import socket
def send_msg(udp_socket): # udp_sockrt 形參
"""傳送訊息"""
dest_ip = input("請輸入對方的ip:")
dest_port = int(input("請輸入對方的port:"))
send_data = input("請輸入要傳送的訊息:")
udp_socket.sendto(send_data.encode("gbk"), (dest_ip, dest_port))
def recv_msg(udp_socket):
"""接收資料"""
recv_data = udp_socket.recvfrom(1024)
print("%s: %s" % (str(recv_data[1]), recv_data[0].decode("gbk")))
def main():
# 建立套接字
udp_socket = socket.socket(socket.af_inet, socket.sock_dgram)
# 繫結資訊
udp_socket.bind(("", 7788))
# 迴圈進行收發資料
while true:
print("---***聊天器---")
print("1.傳送訊息")
print("2.接收訊息")
print("0.退出系統")
op = input("請輸入功能:")
if op == "1":
# 傳送,獲取要傳送的內容
send_msg(udp_socket)
elif op == "2":
# 接收並顯示
recv_msg(udp_socket)
elif op == "0":
# 退出
break
else:
print("請重新輸入。。。")
if __name__ == "__main__":
main()
UDP多人聊天室
多人聊天室 chat room 客戶端功能 傳送請求,獲取結果 from socket import from multiprocessing import process import sys 伺服器位址 addr 127.0.0.1 8888 接收訊息 def recv msg s while ...
基於UDP聊天室程式
基於udp聊天室程式使用socket程式設計實現。windows套接字在兩種模式下執行i o操作,阻塞和非阻塞。在阻塞模式下,在i o操作完成前,執行操作的winsock函式會一直等待下去 如recvfrom,wsarecvfrom函式 不會立即返回程式 將控制權交還給程式 而在非阻塞模式下,win...
UDP編寫的聊天室
一 要求 實現,學生,老師相互聊天 雙方都可以一邊接收一邊傳送 二 分析 假設老師,學生各有乙個傳送端,接收端 則老師需待學生傳送完後,才能傳送,學生也是如此 故需要使用多執行緒,實現相互聊天 三 示意圖如下 1 傳送端 互聊測試手動輸入,螢幕輸出 從system.in讀取,將位元組陣列傳送 方法一...