第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

帶有 Python 服務(wù)器和 Java 客戶(hù)端的 TCP 套接字

帶有 Python 服務(wù)器和 Java 客戶(hù)端的 TCP 套接字

侃侃爾雅 2022-04-28 16:45:51
我正在嘗試在 Python 服務(wù)器(理想情況下,具有通過(guò) GPIO 連接的某些設(shè)備的 Raspberry Pi)和 Java 客戶(hù)端(同樣,主要目標(biāo)是 Android 應(yīng)用程序)之間交換一些字符串?dāng)?shù)據(jù)。無(wú)論如何,下面的代碼是在標(biāo)準(zhǔn)的本地 PC 上運(yùn)行的。這是服務(wù)器的代碼,取自(并稍作修改)here:import socketserverimport datetimeclass MyTCPHandler(socketserver.StreamRequestHandler):    def handle(self):        now = datetime.datetime.now()        answer = now        self.data = self.rfile.readline().strip()        print("Read!")        if str(self.data) == 'date':            answer = now.date()        elif str(self.data) == 'time':            answer = now.time()        self.wfile.write((str(answer)+"\n").encode('utf-8'))        print("Sent!")if __name__ == "__main__":    HOST, PORT = "localhost", 9999    with socketserver.TCPServer((HOST, PORT), MyTCPHandler) as server:        print("Server is running on {}, port {}".format(HOST, PORT))        server.serve_forever()Java客戶(hù)端如下:public class SocketTest {    public static void main(String[] args) {        try {            Socket s = new Socket("127.0.0.1", 9999);            PrintWriter out = new PrintWriter(new OutputStreamWriter(s.getOutputStream()));            BufferedReader in = new BufferedReader(new InputStreamReader(s.getInputStream()));            out.println("date".getBytes());            String resp = in.readLine();            System.out.println("Received: " + resp);        } catch (IOException ex) {            Logger.getLogger(SocketTest.class.getName()).log(Level.SEVERE, null, ex);        }    }   }沒(méi)有拋出任何異常,它只是在客戶(hù)端等待響應(yīng)時(shí)卡住了,我永遠(yuǎn)看不到"Read!"服務(wù)器端的消息。來(lái)自網(wǎng)絡(luò)上的"date".getBytes()某個(gè)地方,我發(fā)現(xiàn) Python 套接字需要字節(jié)(UTF-8),但在 Java 中我直接發(fā)送字符串,所以它可能是錯(cuò)誤的。任何幫助將不勝感激!
查看完整描述

1 回答

?
慕標(biāo)5832272

TA貢獻(xiàn)1966條經(jīng)驗(yàn) 獲得超4個(gè)贊

原來(lái),這是一個(gè)沖洗問(wèn)題。

顯然,當(dāng)?shù)竭_(dá)行尾時(shí),緩沖區(qū)不會(huì)被刷新(這是我期望它的行為方式)。

添加一個(gè)簡(jiǎn)單out.flush()的解決了這個(gè)問(wèn)題。


查看完整回答
反對(duì) 回復(fù) 2022-04-28
  • 1 回答
  • 0 關(guān)注
  • 113 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)