问题描述
服务端importjava.io.*;importjava.net.*;publicclassChatServer{ServerSocketss=null;booleanstart=false;publicstaticvoidmain(String[]args){ChatServerserver=newChatServer();server.start();}publicvoidstart(){try{ss=newServerSocket(6666);start=true;while(start){Sockets=null;s=ss.accept();System.out.println("一个客户端链接成功");ClientThreadclient=newClientThread(s);Threadtt=newThread(client);tt.start();}}catch(IOExceptione){System.out.println("申请绑定端口失败");}}classClientThreadimplementsRunnable{privateSockets=null;privateDataInputStreamdis=null;privatebooleansts=false;publicClientThread(Sockets){this.s=s;try{dis=newDataInputStream(s.getInputStream());sts=true;}catch(IOExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}}@Overridepublicvoidrun(){while(sts){try{System.out.println("zhixingdaossssssssslema");System.out.println(dis.readUTF());System.out.println("zhixingdaolema");}catch(EOFExceptionw){System.out.println("clientclose");}catch(IOExceptione){System.out.println("aclientslose");e.printStackTrace();}finally{try{if(dis!=null)dis.close();if(s!=null)s.close();}catch(IOExceptione1){e1.printStackTrace();}}}}}}客户端importjava.io.*;importjava.net.*;publicclassChatServer{ServerSocketss=null;booleanstart=false;publicstaticvoidmain(String[]args){ChatServerserver=newChatServer();server.start();}publicvoidstart(){try{ss=newServerSocket(6666);start=true;while(start){Sockets=null;s=ss.accept();System.out.println("一个客户端链接成功");ClientThreadclient=newClientThread(s);Threadtt=newThread(client);tt.start();}}catch(IOExceptione){System.out.println("申请绑定端口失败");}}classClientThreadimplementsRunnable{privateSockets=null;privateDataInputStreamdis=null;privatebooleansts=false;publicClientThread(Sockets){this.s=s;try{dis=newDataInputStream(s.getInputStream());sts=true;}catch(IOExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}}@Overridepublicvoidrun(){while(sts){try{System.out.println("zhixingdaossssssssslema");System.out.println(dis.readUTF());System.out.println("zhixingdaolema");}catch(EOFExceptionw){System.out.println("clientclose");}catch(IOExceptione){System.out.println("aclientslose");e.printStackTrace();}finally{try{if(dis!=null)dis.close();if(s!=null)s.close();}catch(IOExceptione1){e1.printStackTrace();}}}}}}
解决方案
解决方案二:
你的服务器问题不大,主要是你客户端有问题,很明显你的客户端是服务器的翻版,指明几点:1.客户端是不需要ServerSocket的,并且Socket的构造方法需要指明ip和端口号如Socketmysocket=newSocket("127.0.0.1",4331);2.客户端是不需要监听的……你主要是没有搞明白客户端和服务器的机制,希望我说的对你有启示!