日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

2Python全栈之路系列之基于socket实现聊天机器人

發布時間:2025/1/21 python 88 豆豆
生活随笔 收集整理的這篇文章主要介紹了 2Python全栈之路系列之基于socket实现聊天机器人 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Python全棧之路系列之基于socket實現聊天機器人


通過socket實現局域網內的聊天工具。

service.py文件如下:

#!/usr/bin/env?python #?_*_?coding:utf-8?_*_import?socket#?創建一個socket對象 sk?=?socket.socket()#?綁定允許連接的IP地址和端口 sk.bind(('127.0.0.1',?6053,?))#?服務端允許起來之后,限制客戶端連接的數量,如果超過五個連接,第六個連接來的時候直接斷開第六個。 sk.listen(5)while?True:#?會一直阻塞,等待接收客戶端的請求,如果有客戶端連接會獲取兩個值,conn=創建的連接,address=客戶端的IP和端口conn,?address?=?sk.accept()#?當用戶連接過來的時候就給用戶發送一條信息,在Python3里面需要把發送的內容轉換為字節conn.sendall(bytes("你好,歡迎登陸!",?encoding="utf-8"))while?True:#?輸出等待客戶端發送內容print("正在等待Client輸入內容......")#?接收客戶端發送過來的內容ret_bytes?=?conn.recv(1024)#?轉換成字符串類型ret_str?=?str(ret_bytes,?encoding="utf-8")#?輸出用戶發送過來的內容print(ret_str)#?如果用戶輸入的是qif?ret_str?==?"q":#?則退出循環,等待下個用戶輸入break#?給客戶端發送內容inp?=?input("Service請輸入要發送的內容>>>?")conn.sendall(bytes(inp,?encoding="utf-8"))

client.py文件內容如下:

#!/usr/bin/env?python #?_*_?coding:utf-8?_*_import?socket#?創建一個socket對象 obj?=?socket.socket()#?制定服務端的IP地址和端口 obj.connect(('127.0.0.1',?6053,?))#?阻塞,等待服務端發送內容,接受服務端發送過來的內容,最大接受1024字節 ret_bytes?=?obj.recv(1024)#?因為服務端發送過來的是字節,所以我們需要把字節轉換為字符串進行輸出 ret_str?=?str(ret_bytes,?encoding="utf-8")#?輸出內容 print(ret_str)while?True:#?當進入連接的時候,提示讓用戶輸入內容inp?=?input("Client請輸入要發送的內容>>>?")#?如果輸出q則退出if?inp?==?"q":#?把q發送給服務端obj.sendall(bytes(inp,?encoding="utf-8"))#?退出當前whilebreakelse:#?否則就把用戶輸入的內容發送給用戶obj.sendall(bytes(inp,?encoding="utf-8"))#?等待服務端回答print("正在等待Server輸入內容......")#?獲取服務端發送過來的結果ret?=?str(obj.recv(1024),?encoding="utf-8")#?輸出結果print(ret)#?連接完成之后關閉鏈接 obj.close()

執行結果

#Python全棧之路?#Socket


轉載于:https://blog.51cto.com/edeny/1917848

總結

以上是生活随笔為你收集整理的2Python全栈之路系列之基于socket实现聊天机器人的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。