Java 的 Socket 服务器和客户端通信的例子 存在一个小问题

有木有好心的java coder 帮我解决下这个问题~~

这个程序写完了后 开两个命令窗口进行编译通信,竟然会不能正常通信,是不是因为我写的socket是一个线程的原因。但是为什么开两个eclipse ,每个下面运行一个服务器端,和用户端就可以。



import java.util.*; 
import java.io.*;
import java.net.*;
public class SS {                  //server
      public  static void main(String args[]){
    	  ServerSocket socketServer=null;
    	  DataInputStream  in=null;
    	  DataOutputStream out=null;
    	  Socket server;
    	  try{
    		  socketServer=new ServerSocket(2060);
    	  }
    	  catch(Exception e1){
    		  System.out.println("can't estblish socketServer "+e1);  
    	  }
    	  try{
    		  Scanner cin=new Scanner(System.in);
    		  System.out.println("you are server ,please send message to client");
    		  server=socketServer.accept();  
    		  in=new DataInputStream(server.getInputStream());
    		  out=new DataOutputStream(server.getOutputStream());
    		  while(true){
    			  String send=null,receive=null;
    			  receive=in.readUTF();
    			  System.out.println("get message from client is "+receive);
    			  System.out.println("send message from client");
    			  send=cin.nextLine();
    			  out.writeUTF(send);
                  
    		  }
    		  
    	  }
    	  catch(Exception e){
    		 System.out.println("break! "+e);
    	  }
      }      
	
	
}



import java.util.*;
import java.io.*;
import java.net.*;

public class CC {           //client
        public static void main(String args[]){
	         Socket   client=null;
             DataInputStream in=null;
   	         DataOutputStream out=null;
   	         try{
   	    	      client=new Socket("127.0.0.1",2060);
   	    	      in=new DataInputStream(client.getInputStream());
   	    	      out=new DataOutputStream(client.getOutputStream());
   	    	      System.out.println("You are a client,you send message to server");
   	    	      Scanner cin=new Scanner(System.in);
   	    	      while(true){
   	    		    String send=null,receive=null;
   	    		    System.out.println("Please input Client message sending to server!");
   	    	        send=cin.nextLine();
   	    	        out.writeUTF(send);
   	    		    receive=in.readUTF();
   	    		    System.out.println("Message from Server is:"+receive);
   	    	    	Thread.sleep(500);  
   	    	      }	
   	    	 }
   	    
   	         catch(Exception e){
   	    	    System.out.println("break!"+e);
   	    	
   	         }
            
       }	
}


我先运行的server,在运行的client~~ 在eclipse下就可以正常通信。












评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值