现在的位置: 首页 > 综合 > 正文

案例二:半双工通讯(通过控制台互发消息)

2013年02月07日 ⁄ 综合 ⁄ 共 1911字 ⁄ 字号 评论关闭

 

/**
 * 欢迎大家使用这个源码 如有疑问请加qq群:151648295
 * 
 *半双工通讯
 *
 *先是客户端从控制台给服务器发送消息   然后服务器回复消息
 *
 */
package com.xiangqiao123.test2;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;

public class MyServer2 {

	public MyServer2(){
		try {
			//监听9999端口
			ServerSocket ss=new ServerSocket(9999);
			Socket s=ss.accept();
			//读取客户端发送过来的消息
			InputStreamReader isr=new InputStreamReader(s.getInputStream());
			BufferedReader br=new BufferedReader(isr);
		   
			//读取控制台输入的消息
			InputStreamReader isr2=new InputStreamReader(System.in);
			BufferedReader br2=new BufferedReader(isr2);
		    
			//向客户端发送消息  注意  true 这个参数如果没有讲无法发送消息 
			PrintWriter pw=new PrintWriter(s.getOutputStream(),true);
		
			while(true){
			
				String accept=br.readLine();
				System.out.println(accept);
				System.out.println("请输入你的回复");
		
				String accept2=br2.readLine();
			
				pw.println("服务器说:"+accept2);	
			}
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
	}
	public static void main(String[] args) {
		new MyServer2();

	}
	

}

 

 

/**
 * 欢迎大家使用这个源码 如有疑问请加qq群:151648295
 * 
 *半双工通讯
 *
 *先是客户端从控制台给服务器发送消息   然后服务器回复消息
 *
 */
package com.xiangqiao123.test2;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;

public class MyClient2 {

    
	public MyClient2() {
		try {
			//获得连接
			Socket s=new Socket("127.0.0.1",9999);	
			
			//读取控制台的输入信息
			InputStreamReader isr= new InputStreamReader(System.in);
			BufferedReader br=new BufferedReader(isr);
			
			//向服务器发送消息
			PrintWriter pw=new PrintWriter(s.getOutputStream(),true);
			 
			//读取服器发送过来的消息
			InputStreamReader isr2= new InputStreamReader(s.getInputStream());
			BufferedReader br2=new BufferedReader(isr2);
			while(true){
				System.out.println("请输入你对服务器的消息:");
			
				String send=br.readLine();
			
				pw.println("客户端说:"+send);
			
				System.out.println(br2.readLine());
				
				
				
			}
		}  catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	
	public static void main(String[] args) {
		new MyClient2();

	}

}

 

源码下载:

             
  点此下载源码

 欢迎大家关注我的博客,有什么问题可以评论,也可以加入我的qq群:151648295  希望大家一起进步。

我的博客更新很快的哦,这次十月一假期我将给大家分享一个j2se的项目,“制作山寨版qq”,欢迎大家一起关注啊。

 

抱歉!评论已关闭.