TCP协议实现网络通信简单例子

    xiaoxiao2021-03-25  29

    package util; import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.io.PrintWriter; import java.net.Socket; /** * 客户端 */ public class ChetClient { public static void main(String[] args) { try { Socket socket = new Socket("localhost", 10086); OutputStream os = socket.getOutputStream();// 字节输出流 PrintWriter pw = new PrintWriter(os);// 将输出流包装成打印流 pw.write("用户名:admin;密码:123"); pw.flush(); socket.shutdownOutput(); // 3、获取输入流,并读取服务器端的响应信息 InputStream is = socket.getInputStream(); BufferedReader br = new BufferedReader(new InputStreamReader(is)); String info = null; while ((info = br.readLine()) != null) { System.out.println("我是客户端,服务器说:" + info); } // 4、关闭资源 br.close(); is.close(); pw.close(); os.close(); socket.close(); } catch (Exception e) { // TODO: handle exception } } } package util; import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.io.PrintWriter; import java.net.ServerSocket; import java.net.Socket; /** * 服务器端 */ public class ChetServer { public static void main(String[] args) { try { ServerSocket serverSocket=new ServerSocket(10086); Socket socket=serverSocket.accept(); InputStream is=socket.getInputStream(); InputStreamReader isr=new InputStreamReader(is); BufferedReader br=new BufferedReader(isr); String info=null; while((info=br.readLine())!=null){ System.out.println("我是服务器,客户端说:"+info); } socket.shutdownInput(); OutputStream os=socket.getOutputStream(); PrintWriter pw=new PrintWriter(os); pw.write("欢迎您"); pw.flush(); pw.close(); os.close(); br.close(); isr.close(); is.close(); socket.close(); serverSocket.close(); } catch (Exception e) { // TODO: handle exception } } } Socket通信的步骤 ① 创建ServerSocket和Socket ② 打开连接到Socket的输入/输出流 ③ 按照协议对Socket进行读/写操作 ④ 关闭输入输出流、关闭Socket 服务器端: ① 创建ServerSocket对象,绑定监听端口 ② 通过accept()方法监听客户端请求 ③ 连接建立后,通过输入流读取客户端发送的请求信息 ④ 通过输出流向客户端发送乡音信息 ⑤ 关闭相关资源

    转载请注明原文地址: https://ju.6miu.com/read-150082.html

    最新回复(0)