SocketServerTCP學習問題解決

2021-10-25 14:59:44 字數 1259 閱讀 7005

使用py38入坑,出坑

編寫socketservertcp伺服器和客戶端,發現客戶端只能傳送不能**訊息

發現問題:可以傳送不報錯,但是發完就卡住,不能**訊息。問題所在點為伺服器端

伺服器端**如:self.wfile.write(self.rfile.readline()) 這一條正是傳送的**,因為使用的是readline所以需要在客戶端加乙個換行符

客戶端**傳送訊息時需要新增乙個換行符:tcpclient.send((data+"\n").encode("utf-8"))方可實現**訊息

問題解決               補充:從伺服器傳送訊息**到訊息會有乙個\\n解決方法在伺服器傳送訊息時寫乙個.strip()方法去除換行符即可

案例如下

# coding=utf-8

# 伺服器**

from socketserver import tcpserver as tcp, streamrequesthandler as srh

from time import ctime

class myrequesthandler(srh):

def handle(self):

print("來自:", self.client_address)

self.wfile.write("[{}]{}".format(ctime(), self.rfile.readline()).encode("utf-8"))

tcpserv = tcp(("", 9000), myrequesthandler)

print("等待連線")

tcpserv.serve_forever()

# coding=utf-8

# 客戶端**

from socket import *

while true:

tcpclient = socket(af_inet, sock_stream)

tcpclient.connect(("localhost", 9000))

data = input(">")

if not data:

break

tcpclient.send((data+"\n").encode("utf-8"))

data = tcpclient.recv(1024)

if not data:

break

print(data)

tcpclient.close()

Python 深度學習 問題解決

本人學習中,持續更新各種問題 1.建議先檢視一下python2和python3的區別,參考別人的部落格 eclipse jee luna r win32 x86 64 python 安裝教程 直接預設路徑的話就是傻瓜無腦安裝了,就是最後執行下cmd命令 python就好了 eclipse 離線pyd...

nginx resin session問題解決

nginx resin 負載均衡 和防止其中一台宕機出現不可以 出現的問題 在使用者登入 時會出現兩台伺服器session不一致,一台有儲存,另一台沒儲存。解決方案 利用nginx upstream jvm route 解決 他不是共享,也不是同步,而是通過 cookie session來判別 到這...

Presentation Error問題解決

前兩天考試提交 出現了個presentation error,沒在意,以為 錯誤。今天做題時又不斷出現presentation error,上網查了查。具體原因以及改正方案如下 首先可以肯定的是,思路沒有錯,輸出結果也與標準輸出結果非!常!接!近!出現這個錯誤最可能的原因是,在輸出結果的後面,多了或...