博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java 的 Socket 服务器和客户端通信的例子 存在一个小问题
阅读量:7229 次
发布时间:2019-06-29

本文共 2376 字,大约阅读时间需要 7 分钟。

有木有好心的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下就可以正常通信。

 

转载地址:http://axdfm.baihongyu.com/

你可能感兴趣的文章
构建高性能数据库缓存之Redis(一)
查看>>
测试驱动开发
查看>>
解决MySQL不允许从远程访问
查看>>
puppet介绍及基于httpd实例部署
查看>>
UML常用工具之三--RSA
查看>>
iis7 appcmd的基础命令及简单用法
查看>>
用脚本实现移动某目录下文件名符合指定规则的文件到另一个目录的功能
查看>>
关于SQL镜像配置报错
查看>>
终于找到解决方案了,Qt的Model/View Framework解析
查看>>
线程信息的获取和设置
查看>>
Databricks Scala 编程风格指南
查看>>
Tkinter,label内容随多选框变化
查看>>
PHP开发中的数据类型 ( 第3篇 ) :Heaps
查看>>
网络七层协议
查看>>
4种删除Word空白页的小技巧,都是你需要用到的!
查看>>
单服务器MySQL主从复制实践
查看>>
CentOS 7 root口令恢复
查看>>
| 刘知远:让计算机听懂人话
查看>>
苹果收购初创公司Tueo Health,哮喘监测或将应用到Apple Watch
查看>>
CLR存储过程
查看>>