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

xiaoxiao2021-02-28  63

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); } } }
转载请注明原文地址: https://www.6miu.com/read-66806.html

最新回复(0)