Python使用Socket實(shí)現(xiàn)簡(jiǎn)單聊天程序
b2b模式的聊天工具
服務(wù)端:
# 鏈接while True: print(’等待連接...’) sock,adr = server_socket.accept() while True: try: # 接受數(shù)據(jù) data = sock.recv(1024) print(adr[0] + ’發(fā)來(lái)消息:’, data.decode()) # 發(fā)送數(shù)據(jù) send_msg = input('請(qǐng)輸入發(fā)送內(nèi)容>>').strip() sock.send(send_msg.encode(’utf-8’)) except ConnectionResetError as e: print(’%s斷開(kāi)連接!’ %adr[0]) break # 關(guān)閉本次連接 sock.close()# 關(guān)閉socketserver_socket.close()
客戶(hù)端:
import socket# 設(shè)置服務(wù)器ip和端口號(hào)host_ip = ’192.168.31.207’port = 8896client_socket = socket.socket()client_socket.connect((host_ip,port))while True: send_msg = input(’請(qǐng)輸入內(nèi)容>>’).strip() if send_msg == ’’: continue client_socket.send(send_msg.encode()) recv_data = client_socket.recv(1024) print(host_ip+'回復(fù):'+recv_data.decode())client_socket.close()
目前只支持客戶(hù)端發(fā)一句,服務(wù)端發(fā)一句這種模式。
超過(guò)一句內(nèi)容后,發(fā)出去的內(nèi)容對(duì)方接收不到
結(jié)果:
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. jsp網(wǎng)頁(yè)實(shí)現(xiàn)貪吃蛇小游戲2. JSP動(dòng)態(tài)網(wǎng)頁(yè)開(kāi)發(fā)原理詳解3. Java SE 6 : Classpath通配符和OutOfMemeory Error檢測(cè)4. python json 遞歸打印所有json子節(jié)點(diǎn)信息的例子5. Python中tkinter+MySQL實(shí)現(xiàn)增刪改查6. 源碼分析MinimalApi是如何在Swagger中展示7. windows下安裝PHP性能分析工具 xhprof 筆記8. Vue Element UI自定義描述列表組件9. js實(shí)現(xiàn)經(jīng)典掃雷游戲10. Geronimo 2.0 M1發(fā)布 支持Java EE
