TCP套接字上的Ascii

任何人都可以通过TCP发送Ascii消息的示例?(无法在网上找到示例)

谢谢,

射线。

这是写入和读取回显服务器的示例 。

简化摘录:

Socket echoSocket = null; PrintWriter out = null; BufferedReader in = null; try { echoSocket = new Socket("taranis", 7); out = new PrintWriter(echoSocket.getOutputStream(), true); in = new BufferedReader(new InputStreamReader( echoSocket.getInputStream())); } catch (UnknownHostException e) { System.err.println("Don't know about host: taranis."); System.exit(1); } catch (IOException e) { System.err.println("Couldn't get I/O for " + "the connection to: taranis."); System.exit(1); } BufferedReader stdIn = new BufferedReader( new InputStreamReader(System.in)); String userInput; while ((userInput = stdIn.readLine()) != null) { out.println(userInput); System.out.println("echo: " + in.readLine()); } 

不确定,我认为这应该有效:

 try (DataOutputStream outToClient = new DataOutputStream(socket.getOutputStream())) { outToClient.write(stringMessage.getBytes("US-ASCII")); } catch (IOException e) {} 

原始问题中未说明是否必须处理ASCII控制代码。

虽然接受的答案适用于可打印的 ASCII字符,但我遇到了问题(在Windows 7 Enterprise SP1上),使用它来处理包含ASCII控制代码的字符串,特别是包含任何java换行“字符”的字符串,例如VT,CR,LF等解决方法是将字符串作为字节发送并将其转换回远端的字符串。

请参阅我对此问题的答案,了解如何处理这种情况。

从输入流中读取行和byte []

和我密切相关的问题,它是公认的答案:

需要TCPIP客户端阻塞,直到收到特定的字符序列