Python使用Socket實現(xiàn)簡單聊天程序
b2b模式的聊天工具
服務端:
# 鏈接while True: print(’等待連接...’) sock,adr = server_socket.accept() while True: try: # 接受數(shù)據(jù) data = sock.recv(1024) print(adr[0] + ’發(fā)來消息:’, data.decode()) # 發(fā)送數(shù)據(jù) send_msg = input('請輸入發(fā)送內(nèi)容>>').strip() sock.send(send_msg.encode(’utf-8’)) except ConnectionResetError as e: print(’%s斷開連接!’ %adr[0]) break # 關閉本次連接 sock.close()# 關閉socketserver_socket.close()
客戶端:
import socket# 設置服務器ip和端口號host_ip = ’192.168.31.207’port = 8896client_socket = socket.socket()client_socket.connect((host_ip,port))while True: send_msg = input(’請輸入內(nèi)容>>’).strip() if send_msg == ’’: continue client_socket.send(send_msg.encode()) recv_data = client_socket.recv(1024) print(host_ip+'回復:'+recv_data.decode())client_socket.close()
目前只支持客戶端發(fā)一句,服務端發(fā)一句這種模式。
超過一句內(nèi)容后,發(fā)出去的內(nèi)容對方接收不到
結果:


以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關文章:
1. 理解PHP5中static和const關鍵字2. IntelliJ IDEA安裝插件的方法步驟3. php模擬實現(xiàn)斗地主發(fā)牌4. .Net Core使用Coravel實現(xiàn)任務調(diào)度的完整步驟5. Vue封裝一個TodoList的案例與瀏覽器本地緩存的應用實現(xiàn)6. jQuery 實現(xiàn)DOM元素拖拽交換位置的實例代碼7. Vuex localStorage的具體使用8. vue 使用localstorage實現(xiàn)面包屑的操作9. spring acegi security 1.0.0 發(fā)布10. MyBatis中的JdbcType映射使用詳解

網(wǎng)公網(wǎng)安備