我目前正在学习如何在 java 中编写一个 tcp 服务器。我正在为新的每个客户端连接(多线程服务器)创建一个新线程。
客户端连接到服务器后,我想将数据从客户端发送到服务器。在服务器端,服务器处于从套接字输入流读取数据的 while 循环中。我现在想问:我应该为每个收到的数据包创建一个新线程吗?
例如,客户端发送字符串“Hello”。服务器是否应该在新线程中处理此数据包以便它可以继续读取,因为我认为如果我不创建新线程,服务器不会继续读取,并且如果客户端在“Hello”数据包之后发送另一个数据包例如“Bye”,服务器可能不会读取它,因为它可能仍在忙于处理“Hello”数据包。
需要明确的是,我不是在谈论 serversockets 接受方法,而是在谈论来自套接字输入流的数据。
请赐教。