案例 udp聊天室(四)

2021-09-21 18:47:22 字數 1118 閱讀 6813

報一下環境:

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讀取,將位元組陣列傳送 方法一...