Я написал программу TCP-Socket-клиент-сервер, так что клиент войдет в строку и будет отображаться сервером (эхо-программа) ... это условие, когда я вхожу в свидание программа должна выйти ... Ну и хорошо, что клиентская программа выходит ... но серверная программа выходит из java.io.DataInputStream.readUTF() и readFully исключений .. PLZ помогите мне .. что не так в коде ...Java TCP Socket programming throwing IO exceptions
/*Client*/
import java.net.*;
import java.io.*;
public class echoclient {
public static void main(String args[]) throws Exception
{
Socket soc = new Socket("127.0.0.1",4000);
OutputStream sout = soc.getOutputStream();
DataOutputStream out = new DataOutputStream(sout);
DataInputStream din = new DataInputStream(System.in);
while(true)
{
String message = din.readLine();
if(message.equals("bye"))
break;
out.writeUTF(message);
}
soc.close();
}
}
/*Server*/
import java.io.*;
import java.net.*;
public class echoserver {
public static void main(String args[]) throws Exception
{
ServerSocket server = new ServerSocket(4000);
Socket soc = server.accept();
System.out.println("Server Started....");
InputStream sin = soc.getInputStream();
DataInputStream in = new DataInputStream(sin);
while(true)
{
String fromClient = in.readUTF();
if(fromClient.equals("bye"))
{break;}
System.out.println("Client says : "+fromClient);
}
soc.close();server.close();
}
}
Исключение:
Exception in thread "main" java.io.EOFException
at java.io.DataInputStream.readUnsignedShort(DataInputStream.java:340)
at java.io.DataInputStream.readUTF(DataInputStream.java:589)
at java.io.DataInputStream.readUTF(DataInputStream.java:564)
at echoserver.main(echoserver.java:15)
Это могло бы помочь, если бы вы могли предоставить нам исключение. –
@JunedAhsan - out.writeUTF() от клиента и in.readUTF() на сервере – radai
Это исключение я получаю: –