I made a simple chat program where sending data from MyClient to MyServer is working, but when sending data from MyServer to MyClient is not working. So where I'm making mistake?
//This is MyServer program
import java.io.*;
import java.net.*;
public class MyServer{
ServerSocket ss; Socket s; DataInputStream din; DataOutputStream dout;public MyServer(){
try{ System.out.println("Server START......"); ss=new ServerSocket(9000); s=ss.accept(); System.out.println("Client Connected....."); din=new DataInputStream(s.getInputStream()); dout=new DataOutputStream(s.getOutputStream()); chat(); }catch(Exception e){ System.out.println(e);}}
public void chat()throws IOException{
String str=" "; do{ str=din.readUTF(); System.out.println("Client Message: "+str); dout.writeUTF("I have recieved ur message:"+str); dout.flush(); }while(!str.equals("stop"));}
public static void main(String arg[]){
new MyServer();}}
//This is MyClient program
import java.io.*;
import java.net.*;
public class MyClient{
Socket s; DataInputStream din; DataOutputStream dout;public MyClient(){
try{ s=new Socket("localhost",9000); System.out.println(s); din=new DataInputStream(s.getInputStream()); dout=new DataOutputStream(s.getOutputStream()); chat(); }catch(Exception e){ System.out.println(e);}}
public void chat()throws IOException{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); String s1;do{ s1=br.readLine(); dout.writeUTF(s1); dout.flush(); System.out.println("Server Message: "+din.readUTF()); }while(!s1.equals("stop"));}
public static void main(String arg[]){
new MyClient();}}
ليست هناك تعليقات:
إرسال تعليق