进阶day11-网络编程_TCP服务端实现

This commit is contained in:
2026-03-26 15:57:20 +08:00
parent 5172c55034
commit aab9f96208
2 changed files with 64 additions and 0 deletions

View File

@@ -35,6 +35,9 @@ public class TcpClientDemo04 {
OutputStream os = client.getOutputStream();
os.write("淘宝的官网".getBytes());
//注意:当发送完毕请求数据后,要设置结束的标记,否则服务器会长时间等待客户端的请求数据
client.shutdownOutput();
//3.获取字节输入流,接收响应数据
InputStream is = client.getInputStream();
//一次读字节数组的方式来读取响应数据

View File

@@ -0,0 +1,61 @@
package com.inmind.tcp03;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
/*
在java中使用一个类表示服务端ServerSocket
构造方法:
ServerSocket(int port) 创建绑定到指定端口的服务器套接字。
常用方法:
Socket accept() 侦听要连接到客户端请求并接受它。
void close() 关闭此套接字。
InetAddress getInetAddress() 返回套接字所连接的地址。
InputStream getInputStream() 返回此套接字的输入流.(接收请求数据的)
OutputStream getOutputStream() 返回此套接字的输出流。 (发送响应数据)
void shutdownOutput() 禁用此套接字的输出流 (设置了一个发送请求数据的结束标记)
void close() 关闭此套接字。
服务器实现步骤:
1.创建服务器对象
2.接收客户端请求
3.获取请求数据
4.业务逻辑代码
5.发送响应数据
6.释放资源
*/
public class TcpServerDemo04 {
public static void main(String[] args) throws IOException {
//1.创建服务器对象
//ServerSocket(int port) 创建绑定到指定端口的服务器套接字。
ServerSocket server = new ServerSocket(10001);
System.out.println("服务启动了");
//2.接收客户端请求
//Socket accept() 侦听要连接到客户端请求并接受它。
Socket clientSocket = server.accept();//阻塞方法
//3.获取请求数据
InputStream is = clientSocket.getInputStream();
byte[] buf = new byte[1024];
int len;
while ((len = is.read(buf)) != -1) {
//打印获取的请求数据
System.out.println(new String(buf,0,len));
}
//4.业务逻辑代码
String result = "www.taobao.com";
//5.发送响应数据
OutputStream os = clientSocket.getOutputStream();
os.write(result.getBytes());
//6.释放资源
clientSocket.close();
server.close();
}
}