聊天工具简单实现(python 半双工聊天)
生活随笔
收集整理的這篇文章主要介紹了
聊天工具简单实现(python 半双工聊天)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
這個項目的代碼還存在很多問題,下面列舉了三個,以后再慢慢對這個進行完善
- 客戶端啟動之前需要保證服務端已經啟動了~
- 必須等到對方發送完信息之后才能再回復
- 必須要將服務端的防火墻給關閉
- 功能僅限于聊天
總共有兩個代碼,這個不同于之前的那個項目,這個項目實現了,客戶端和服務雙方的交互(半雙工聊天)
代碼我已經自己用了,可以使用,大家有興趣可以拿去學習~
服務端代碼:必須要先運行器服務端的代碼,然后,還要將服務端的防火墻關閉了才能接受到其他電腦的通過外網的交互!!
from socket import * from time import ctime HOST = gethostbyname(gethostname()) POST = 21567 BUFSIZ = 1024ADDR = (HOST, POST)tcpSerSock = socket(AF_INET, SOCK_STREAM) tcpSerSock.bind(ADDR) tcpSerSock.listen(5) print("HOST is %s" % HOST)print("Wait for connect") tcpCliSock, addr = tcpSerSock.accept() print('...connect from:', addr) # 建立連接while True:data = tcpCliSock.recv(BUFSIZ)if not data:breakprint('[%s] : %s' % (ctime(), data.decode()))Meg = input('> ')tcpCliSock.send(Meg.encode())if not Meg:break下面是客戶端代碼,記得要修改下那個HOST,改成服務端的IP地址就好了~
from socket import * from time import ctimeHOST = '自己寫個IP地址(服務端,那個需要把防火墻關掉的電腦的IP地址)' POST = 21567 BUFSIZ = 1024 ADDR = (HOST, POST)tcpCliSock = socket(AF_INET, SOCK_STREAM) tcpCliSock.connect(ADDR)while True:data = input('> ')if not data:breaktcpCliSock.send(data.encode())data = tcpCliSock.recv(BUFSIZ)if not data:breakprint('[%s]: %s' % (ctime(), data.decode()))總結
以上是生活随笔為你收集整理的聊天工具简单实现(python 半双工聊天)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 轻松删除git本地创建的仓库
- 下一篇: [解答] python下如何安装Sock