> 文章列表 > 二结(4.18)项目进度

二结(4.18)项目进度

二结(4.18)项目进度

今天学长上了多线程的课程,内容挺广泛的,部分也需要实际运用到项目中来,但我的登录、注册实现还没区分开服务端和客户端(仅在同一项目里实现)

----------------------------------------------------------------------------------

输送数据

利用TCP实现服务端和用户端传数据,需要先了解TCP的基本概念和步骤。

TCP(传输控制协议)是一种面向连接的协议,它保证数据在传输过程中的可靠性和顺序性。TCP连接的建立过程如下:

  1. 服务端启动并监听指定的端口。

  2. 用户端发起连接请求,请求连接到服务端的指定IP地址和端口。

  3. 服务端收到连接请求,创建新的Socket,并返回一个成功的连接响应给用户端。

  4. 用户端接收到连接响应,创建新的Socket,并与服务端建立连接。

  5. 服务端和用户端之间开始数据传输。

  6. 连接结束时,服务端和用户端均可以关闭连接。

在服务端和用户端之间传输数据:

客户端:

package True;import java.io.OutputStream;
import java.net.Socket;
import java.nio.charset.StandardCharsets;public class ccc {public static void main(String[] args) throws Exception{Socket socket=new Socket("127.0.0.1",10000);OutputStream os=socket.getOutputStream();os.write("您好你好".getBytes(StandardCharsets.UTF_8));os.close();socket.close();
}}

服务端:

package Socoket;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.ServerSocket;
import java.net.Socket;
public class aaccept {public static void main(String[] args) throws IOException {//1.创建对象ServerSocket ss = new ServerSocket(10000);while (true) {Socket socket = ss.accept();InputStream is = socket.getInputStream();InputStreamReader isr = new InputStreamReader(is);int b;while ((b = isr.read()) != -1) {System.out.print((char) b);}}}
}

 明天再把客户端服务端分开来