即时通信(1)Java sockt基础

服务端: ServerSocket serverSocket=new ServerSocket(5471);

客户端:Socket socket=new Socket(InetAddress.getLocalHost(),5471);

InetAddress.getLocalHost():获得计算机名和IP地址,如:USER-20140213SH/192.168.1.103

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));从控制台接收一个字符串

BufferedReader socketIs=new BufferedReader(new InputStreamReader(socket.getInputStream())); //从socket对象接收一个输入流

PrintWriter socketOs=new PrintWriter(socket.getOutputStream());  //从socket对象接收一个输出流

服务端程序:

public static void Server() throws IOException
	{
		 ServerSocket serverSocket=new ServerSocket(5471);
		 Socket clientSocket=serverSocket.accept();		 
		 BufferedReader is=new BufferedReader(new InputStreamReader(clientSocket.getInputStream())); 
		 PrintWriter os=new PrintWriter(clientSocket.getOutputStream());  
		 BufferedReader sin=new BufferedReader(new InputStreamReader(System.in)); 
		 while(true){  			 
	            String str=is.readLine();  
	            System.out.println("Client : "+str);
	            
	            os.println(sin.readLine());  
	            os.flush();//刷新输出流,使Client马上收到该字符串  
	            if(str.equals("end"))
	            {  
	                break;  
	            }  
		 }
		    is.close();  
	        os.close();  
	        clientSocket.close();  
	        serverSocket.close();  
	}

客户端程序:

public static void Client() throws IOException
	{
		Socket socket=new Socket(InetAddress.getLocalHost(),5471); 				
		BufferedReader sin=new BufferedReader(new InputStreamReader(System.in));  		
		BufferedReader socketIs=new BufferedReader(new InputStreamReader(socket.getInputStream())); 
		PrintWriter socketOs=new PrintWriter(socket.getOutputStream());  
		
		 while(true){  
	            String str=sin.readLine();
	            socketOs.println(str);  
	            socketOs.flush(); //刷新输出流,使Server马上收到该字符串  
	              
	            String s=socketIs.readLine();  
	            System.out.println("Server : "+s);//在标准输出上打印从Server读入的字符串  
	            System.out.println();
	            
	            if(str.equals("end")){  
	                break;  
	            }  
	        }  
		 socketIs.close();//关闭Socket输入流  
		 socketOs.close();//关闭Socket输出流  
	         socket.close();//关闭Socket 		
	}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值