0
我有一个java应用程序,它使用套接字与另一台计算机通信。我正在使用DataOutputStream将数据写入服务器,并使用BufferedReader从服务器读取数据。在解决问题之前,我可以成功地从服务器多次发送和读取响应。Java DataOutputStream不发送数据到套接字
然而,有一部分我先后发送了两个函数,即writeBytes()
函数。此时,即使我在第二个writeBytes()
上发送了另一个字符串,我的服务器也只是读取第一个字符串并停留在readline()
上。
Here's我的片断:
InetAddress ipServer = InetAddress.getByName(direcciones.get(0).host);
Socket clientSocket = new Socket(ipServer,25);
DataOutputStream outToServer = new DataOutputStream(clientSocket.getOutputStream());
BufferedReader inFromServer = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
String response = inFromServer.readLine();
这里是I'm想起来的email.data字符串,而不是 “”之后来。
outToServer.writeBytes(email.data+"\r\n");
outToServer.writeBytes("."+ "\r\n");
response = inFromServer.readLine();
这是如何将数据读取服务器上:
while(mailReady == false){
String linea;
linea = input.readLine();
System.out.println("INPUT Paso5: "+linea);
email.data += linea+"\n";
if(linea.equals(".")){
mailReady = true;
...
当输入一个BufferedReader。
谁能告诉我这里发生了什么?
我改用BufferedWriter write和newline(),但我仍然遇到同样的问题。另外,由于我发送的字符串中的“\ r \ n”,我会写行。 –
那么,为什么你把这个答案标记为正确呢? – EJP