zoukankan      html  css  js  c++  java
  • 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下就可以正常通信。












  • 相关阅读:
    Vmware14中设置Centos7静态密码
    字符串和集合截取
    通过FTP连上centos7
    centos7 离线安装mysql-5.7.21
    基于jackson注释@JsonFormat 格式化时间少8小时
    Kotlin基础学习笔记 (三)
    Android 常用开源框架源码解析 系列 (零)引言
    Kotlin基础学习笔记 (一)
    Android 常用开源框架源码解析 系列 (十一)picasso 图片框架
    Android 常用开源框架源码解析 系列 (十)Rxjava 异步框架
  • 原文地址:https://www.cnblogs.com/xinyuyuanm/p/3000939.html
Copyright © 2011-2022 走看看