Socket Programming - Client / Server
In socket programming, I have a client which sends a message to server, the server receives the message and returns back a acknowledge message the client has to receive it. When I tried I my client socket is getting closed after sending the message to the server. Its not getting the acknowledge ment from server. What could be the problem ? Can anyone help me ?
The source codes for Server and Client is bellow,
import java.io.*;
import java.net.*;
class Server extends Thread
{
ServerSocket ss = null;
Socket so;
public void run()
{
try
{
System.out.println("Server ready waiting for client message.... ");
ss = new ServerSocket(4567);
while(true){
so = ss.accept();
BufferedReader br = new BufferedReader(new InputStreamReader(so.getInputStream(),"8859_1"));
String s = br.readLine();
while(s != null){
System.out.println(s);
s=br.readLine();
}
br.close();
System.out.println("Server Preparing ack......");
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(so.getOutputStream(),"8859_1"));
bw.write("Ack : Got the file succesfully .....");
bw.flush();
bw.close();
}
}
catch(Exception ee)
{
}
}
public static void main(String args[])
{
Server p = new Server();
p.start();
}
}
--
import java.io.*;
import java.net.*;
class Client
{
public static void main(String args[]) {
try {
Socket so = new Socket("",4567);
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(so.getOutputStream(),"8859_1"));
String msg1 = "This is a sample message send to server from client......after reading this message the client will acknowledge .....";
bw.write(msg1,0,msg1.length());
bw.flush();
System.out.println("Message send to server .......");
bw.close();
BufferedReader br = new BufferedReader(new InputStreamReader(so.getInputStream(),"8859_1"));
String msg = br.readLine();
while(msg != null) {
System.out.println(msg);
msg = br.readLine();
}
}
catch(Exception e) {
e.printStackTrace();
}
}
}
-
Thanks,
Regards
Jayakumar, Chennai
email : jjkumar_73@rediffmail.com

