0
点赞
收藏
分享

微信扫一扫

12-网络编程

陬者 2022-04-29 阅读 75
java后端

网络编程三要素

协议

UDP协议

无连接通信协议,客户端与服务器端并没有真正的建立逻辑连接,不需要验证对方是否在线

TCP/IP协议

建立客户端与服务器端的逻辑连接,需要通过三次握手确定对方是否在线才可传输数据

三次握手

  1. 客户端向服务器端发送请求

  2. 服务器端回写响应信息给客户端

  3. 客户端向服务器发送真正请求

IP地址

每一台电脑在互联网络中的唯一标识,确认服务器所在电脑地址

本机IP表示:localhost - 127.0.0.1

端口号

电脑中各个服务的标识,范围0-65535,自定义一般大于1024:8989、9090

案例

服务器端

// 1.设置服务器端口号
ServerSocket ss = new ServerSocket(9090);
// 2.服务器做监听,客户端通过Socket发送请求就会被监听,同时返回Socket
Socket socket = ss.accept();
// 3.监听到请求后,使用Socket对象的网络读入流进行读入数据
InputStream is = socket.getInputStream();
byte[] b = new byte[10];
int l = is.read(b);
String name = new String(b,0,l);
// 服务器端看到这个信息
System.out.println(name);
// 4.继续使用Socket对象 进行数据写出 给到客户端
OutputStream os = socket.getOutputStream();
os.write(("欢迎你"+name).getBytes());

客户端

// 1.创建和服务器传输数据的Socket对象
Socket socket = new Socket("localhost",9090);		
// 2.通过Socket获取网络写出流对象
OutputStream os = socket.getOutputStream();
os.write("张三".getBytes());
// 服务器刷新
os.flush();
// 暂时解决服务器读不到-1的情况
socket.shutdownOutput();
// 3.等待服务器响应 预备接收服务器响应信息
InputStream is = socket.getInputStream();
byte[] b = new byte[10];
int l =is.read(b);
System.out.println(new String(b,0,l));
举报

相关推荐

0 条评论