java - 我可以使用两个不同的线程在同一个套接字上读写吗?

标签 java networking tcp

我正在为一项作业写一些东西,我必须管理主机之间的 TCP 连接。我的设想最初是两个 TCP 连接,一个传入,一个传出,以及一个非常复杂的协议(protocol)来管理这些连接的创建和销毁。

那么,这里有一个更简单的替代方案,我希望它能奏效。一个 socket ,易于连接,易于破坏。一个线程将数据写入该套接字上的流,一个线程从同一套接字上的流中读取数据。我对阻塞没有任何问题,所以我不需要使用 nio 来做任何事情。

我能做到吗?

最佳答案

TCP 套接字是一个全双工流,您可以从多个线程读取和写入它。这样做是否是个好主意是一个完全不同的问题。

关于java - 我可以使用两个不同的线程在同一个套接字上读写吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5669433/

相关文章:

android - 获取本地网络(LAN)中的设备列表?

c - 从 C 语言的 TCP 缓冲区读取和存储数据

Java:如何从一个端口上的客户端套接字连接到不同的服务器?

java - 在 fat jar 中编译应用程序时生成 jasper 报告的问题

java - 需要澄清java数组声明

java - SOAPConnection 调用抛出异常

c++ - 如何在 C++ 中的一个应用程序中同时使用 TCP 和 UDP

java - 使用 Google Web Toolkit 播放声音通知

Linux - 通用网络配置

sockets - TCP 客户端的端口和 TCP 服务器的端口是否共享相同的地址空间?