簡體   English   中英

如何使用java使用outputstream(Telnet客戶端)編寫字符串

[英]how to write string with outputstream(Telnet client) using java

我試圖使用此代碼,但是當我開始連接時,服務器似乎未接收到字符串(命令):

public static void sendMessage(TelnetClient s, String myMessageString)
       throws IOException {
      OutputStream os = s.getOutputStream();
      ObjectOutputStream oos = new ObjectOutputStream(os);  
      oos.writeObject(myMessageString); 
      }

我也嘗試僅使用outputstream並執行以下操作:

os.write(myMessageString.getbytes());

您絕對不希望使用ObjectOutputStream它將使用您的telnet服務器不會期望的二進制序列化。

最好創建一個OutputStreamWriter

// Adjust the encoding to whatever you want, but you need to decide...
Writer writer = new OutputStreamWriter(s.getOutputStream(), "UTF-8");
writer.write(myMessageString);
writer.flush();

flush調用很可能是以前丟失的-取決於TelnetClient所做的工作,它可能會緩沖數據,直到刷新流為止。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM