国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python聊天室程序(基礎版)

2020-01-04 15:29:44
字體:
來源:轉載
供稿:網友

本文實例為大家分享了Python聊天室程序的具體代碼,供大家參考,具體內容如下

客戶端代碼:

# Filename: socketClient.py  import socket import sys import threading  # Client GUI from tkinter import * import Pmw    # Create a TCP/IP socket sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # Connect the socket to the port where the server is listening server_address = ('localhost', 10000) print (sys.stderr, 'connecting to %s port %s' % server_address) sock.connect(server_address)  root = Tk() # textDisplay  textDisplay = Pmw.ScrolledText(root)  textDisplay.pack(expand=1, padx=5, pady=5,side = LEFT)  # textInput textInput = Pmw.ScrolledText(root)  textInput.pack(expand=1, padx=5, pady=5,side = LEFT) # Send Button and its callback  def sendMsg(event):   message = socket.gethostname()+':'+ textInput.get()   #print (sys.stderr, 'sending "%s"' % message)   print(message)   sock.sendall(message.encode())   textInput.clear()   #data = sock.recv(100)   #textDisplay.insert(END, data)   #print (sys.stderr, 'received "%s"' % data)    sendBtn = Button(root, text="Send")  sendBtn.bind('<Button-1>', sendMsg)  sendBtn.pack(side = LEFT)  def receiveMsg():   while True:     data = sock.recv(100)     print (sys.stderr, 'client received "%s"' % data)     textDisplay.insert(END, data)     receiveThread = threading.Thread(name='waitForMSG', target=receiveMsg) receiveThread.start()  root.mainloop() 

 服務器端代碼:

# Filename: socketServer.py  import socket import sys  # Create a TCP/IP socket sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)  # Bind the socket to the port server_address = ('localhost', 10000) print (sys.stderr, 'starting up on %s port %s' % server_address) sock.bind(server_address)  # Listen for incoming connections sock.listen(1)  while True:   # Wait for a connection   print (sys.stderr, 'waiting for a connection')   connection, client_address = sock.accept()    try:     print (sys.stderr, 'connection from', client_address)      # Receive the data in small chunks and retransmit it     while True:       data = connection.recv(16)       print (sys.stderr, 'received "%s"' % data)       if data:         print (sys.stderr, 'sending data back to the client')         connection.sendall(data)       else:         print (sys.stderr, 'no data from', client_address)         break   finally:     # Clean up the connection     connection.close() 

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


注:相關教程知識閱讀請移步到python教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 泗洪县| 巴马| 增城市| 永泰县| 合江县| 奉贤区| 莱芜市| 五原县| 临海市| 常山县| 邵东县| 六盘水市| 虎林市| 安乡县| 和龙市| 旌德县| 义马市| 兴宁市| 马龙县| 大足县| 平遥县| 宣恩县| 普陀区| 蒲江县| 合作市| 扬中市| 墨玉县| 高邮市| 修文县| 乌拉特后旗| 凤城市| 阳信县| 明水县| 肇州县| 清河县| 望都县| 民和| 威远县| 虹口区| 云阳县| 六盘水市|