java:网络编程

 

 

 

 

 

 

 

 1 import java.io.*;
 2 import java.net.ServerSocket;
 3 import java.net.Socket;
 4 
 5 public class EchoServerDemo {
 6 
 7     public static void main(String[] args){
 8         //创建一个服务器端的socket(1024-65535)
 9         try {
10             ServerSocket server = new ServerSocket(6666);
11             System.out.println("服务器已经启动,正在等待客户端连接");
12             //等待客户端的链接,造成阻塞,如果有客户端连接成功,立即返回一个socket对象
13             Socket socket = server.accept();
14             System.out.println("客户端连接成功" + server.getInetAddress().getHostAddress());
15             BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream()));
16             //通过输入流读取网络数据,如果没有数据,那么会阻塞
17             String info = br.readLine();
18             System.out.println(info);
19             //获取输出流,向客户端返回消息
20             PrintStream ps = new PrintStream(new BufferedOutputStream(socket.getOutputStream()));
21 
22             ps.println("echo" + info);
23             ps.flush();
24             //关闭
25             ps.close();
26             br.close();
27         } catch (IOException e) {
28             e.printStackTrace();
29         }
30     }
31 }
EchoServerDemo.java
 1 import java.io.*;
 2 import java.net.Socket;
 3 
 4 public class EchoClientDemo {
 5     public static void main(String[] args) {
 6         //创建一个socket对象,指定要链接的服务器
 7         try {
 8             Socket socket = new Socket("localhost",6666);
 9             //获取socket的输入输出流
10             PrintStream ps = new PrintStream(new BufferedOutputStream(socket.getOutputStream()));
11             BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream()));
12 
13             ps.println("hello,my name is Bin");
14             ps.flush();
15             //读取服务器端返回的数据
16             String info = br.readLine();
17             System.out.println(info);
18             ps.close();
19             br.close();
20 
21 
22         } catch (IOException e) {
23             e.printStackTrace();
24         }
25     }
26 }
EchoClientDemo.java

原文地址:https://www.cnblogs.com/juham/p/15665455.html