[英]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.