聊天工具简单实现(python 半双工聊天)
生活随笔
收集整理的這篇文章主要介紹了
聊天工具简单实现(python 半双工聊天)
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
這個(gè)項(xiàng)目的代碼還存在很多問(wèn)題,下面列舉了三個(gè),以后再慢慢對(duì)這個(gè)進(jìn)行完善
- 客戶(hù)端啟動(dòng)之前需要保證服務(wù)端已經(jīng)啟動(dòng)了~
- 必須等到對(duì)方發(fā)送完信息之后才能再回復(fù)
- 必須要將服務(wù)端的防火墻給關(guān)閉
- 功能僅限于聊天
總共有兩個(gè)代碼,這個(gè)不同于之前的那個(gè)項(xiàng)目,這個(gè)項(xiàng)目實(shí)現(xiàn)了,客戶(hù)端和服務(wù)雙方的交互(半雙工聊天)
代碼我已經(jīng)自己用了,可以使用,大家有興趣可以拿去學(xué)習(xí)~
服務(wù)端代碼:必須要先運(yùn)行器服務(wù)端的代碼,然后,還要將服務(wù)端的防火墻關(guān)閉了才能接受到其他電腦的通過(guò)外網(wǎng)的交互!!
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下面是客戶(hù)端代碼,記得要修改下那個(gè)HOST,改成服務(wù)端的IP地址就好了~
from socket import * from time import ctimeHOST = '自己寫(xiě)個(gè)IP地址(服務(wù)端,那個(gè)需要把防火墻關(guān)掉的電腦的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()))總結(jié)
以上是生活随笔為你收集整理的聊天工具简单实现(python 半双工聊天)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 轻松删除git本地创建的仓库
- 下一篇: UDP实现全双工聊天(聊天工具进阶)py