java - 使用转义字符时无法发送完整的字符串

标签 java escaping

这是 TCPServer 的一个简单实现,我想做的就是在请求时向客户端发送一个字符串。

import java.util.*;
import java.io.*;
import java.net.*;
class TCPServer{
    public static void main(String args[]) throws Exception{
    ServerSocket server = new ServerSocket(4888);
    while(true){
        Socket client = server.accept();
        DataOutputStream out = new DataOutputStream(client.getOutputStream());
        String send = "Bhushan Patil \n 11-237 \n CMPN";
        out.writeBytes(send);
        }
    }
}

但是在 clinet 端只显示了 Bhushan Patil 而没有显示字符串的其余部分。

这是客户端的代码。

import java.util.*;
import java.io.*;
import java.net.*;
class TCPClient{
    public static void main(String args[]) throws Exception{
    Socket client = new Socket("localhost",4888);
    BufferedReader in = new BufferedReader(new InputStreamReader(client.getInputStream    ()));
    String display = in.readLine();
    System.out.println(display);
}
}

谁能解释为什么会这样? 当我做的时候

System.out.println(send);

我用\n 得到了整个字符串,所以我假设你没有换行。如果我错了,请纠正我。谢谢

最佳答案

更新客户端代码如下:

 String  display = null  
 while ((display = in.readLine()) != null)
  {
       System.out.println(display );
  }  

关于java - 使用转义字符时无法发送完整的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21577851/

相关文章:

java - 动态创建Consumer

java - 代码完成后关闭 swing 应用程序

java - 如何解决ElementNotInteractableException : Element is not visible in Selenium webdriver?

java - LDAP 服务器更新和事件通知

javascript - 包含带有innerHTML 的脚本 - 转义字符

python - 为什么 write() 方法会写入未知字符?

java - 如何禁用 Tomcat JARScanner

jquery - JavaScript/PHP/Ajax/Json : securing: Escape user submitted strings before outputting to browser

css - 将 unicode 字符串插入 CleverCSS

windows - 在 Windows 命令提示符下转义尖括号