Sokect简单入门TCP协议一
Posted kuangyefeige
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Sokect简单入门TCP协议一相关的知识,希望对你有一定的参考价值。
一,服务器端代码
import java.io.BufferedReader; import java.io.IOException; 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 LoginServer { public static void main(String[] args) { try { //1.建立一个服务器Socket(ServerSocket)绑定指定端口并开始监听 ServerSocket serverSocket=new ServerSocket(8800); //2.使用accept()方法阻塞等待监听,获得新的连接 System.out.println("等待连接"); Socket socket=serverSocket.accept(); System.out.println("已接收到连接,开始处理请求....."); //3.获得输入流 InputStream is=socket.getInputStream(); BufferedReader br=new BufferedReader(new InputStreamReader(is)); //获得输出流 OutputStream os=socket.getOutputStream(); PrintWriter pw=new PrintWriter(os); //4.读取用户输入信息 String info=null; while(!((info=br.readLine())==null)){ System.out.println("我是服务器,用户信息为:"+info); } //给客户一个响应 String reply="welcome!"; pw.write(reply); pw.flush(); //5.关闭资源 pw.close(); os.close(); br.close(); is.close(); socket.close(); serverSocket.close(); } catch (IOException e) { e.printStackTrace(); } } }
二、客户端代码
1 import java.io.BufferedReader; 2 import java.io.IOException; 3 import java.io.InputStream; 4 import java.io.InputStreamReader; 5 import java.io.OutputStream; 6 import java.io.PrintWriter; 7 import java.net.Socket; 8 import java.net.UnknownHostException; 9 10 /** 11 * 客户端 12 * */ 13 public class LoginClient { 14 public static void main(String[] args) { 15 try { 16 //1.建立客户端Socket连接,指定服务器的位置以及端口 17 Socket socket=new Socket("localhost",8800); 18 //2.得到Socket的读写流 19 OutputStream os=socket.getOutputStream(); 20 PrintWriter pw=new PrintWriter(os); 21 //输入流 22 InputStream is=socket.getInputStream(); 23 BufferedReader br=new BufferedReader(new InputStreamReader(is)); 24 //3.利用流按照一定的协议对Socket进行读/写操作 25 String info="用户名:Tom;用户密码:123456"; 26 pw.write(info); 27 pw.flush(); 28 socket.shutdownOutput(); 29 //接受服务器的响应并打印显示 30 String reply=null; 31 while(!((reply=br.readLine())==null)){ 32 System.out.println("我是客户端,服务器的响应为:"+reply); 33 } 34 //4.关闭资源 35 br.close(); 36 is.close(); 37 pw.close(); 38 os.close(); 39 socket.close(); 40 } catch (UnknownHostException e) { 41 // TODO Auto-generated catch block 42 e.printStackTrace(); 43 } catch (IOException e) { 44 // TODO Auto-generated catch block 45 e.printStackTrace(); 46 } 47 48 } 49 }
以上是关于Sokect简单入门TCP协议一的主要内容,如果未能解决你的问题,请参考以下文章
HTTP3.0(下一代HTTP)将弃TCP协议改用QUIC 技术