使用Socket编程实现p2p(点对点)通信

package com.softeem.p2p;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintStream;
import java.net.Socket;
import java.net.UnknownHostException;

public class Client {//客户端

	public static void main(String[] args) throws UnknownHostException, IOException {

		Socket s = new Socket("192.168.46.5", 8888);
		System.out.println(s.getInetAddress());
		new ReceiveMsg(s).start();

		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		PrintStream pw = new PrintStream(s.getOutputStream());
		String msg = "";
		while ((msg = br.readLine()) != null) {
			pw.println("b:" + msg);
		}
	}

}
package com.softeem.p2p;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.Socket;

/**
 * 发送消息
 * 
 * @author Administrator
 *
 */
public class ReceiveMsg extends Thread {
	private Socket s;

	public ReceiveMsg(Socket s) {
		this.s = s;
	}

	public void run() {
		BufferedReader br = null;
		try {
			InputStream is = s.getInputStream();
			br = new BufferedReader(new InputStreamReader(is));
			String msg = "";
			while((msg = br.readLine()) != null){
				System.out.println(msg);
			}
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
}
package com.softeem.p2p;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintStream;
import java.net.ServerSocket;
import java.net.Socket;

public class MyServer {//服务端

	public static void main(String[] args) throws IOException {
		
		ServerSocket s = new ServerSocket(8888);
		Socket so = s.accept();
		System.out.println("客户端启动" + so.getInetAddress());
		// 启动消息接收线程
		new ReceiveMsg(so).start();

		PrintStream pw = new PrintStream(so.getOutputStream());
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		String msg = "";
		while ((msg = br.readLine()) != null) {
			pw.println("a:" + msg);
		}
	}
	}




 
 

你可能感兴趣的:(Java)