【发布时间】:2017-04-08 18:19:42
【问题描述】:
我基本上是想实现这个:
ServerThreadA ClientThreadA
\ /
--->>>--->>>--->>>---
SOCKET
--->>>--->>>--->>>---
/ \
ServerThreadB ClientThreadB
这里发生的是我在服务器上有 2 个线程将数据发送到客户端的 2 个相应线程。更具体地说,我需要使用来自服务器上的 DataOutputStream 的 .writeUTF(String) 和来自客户端的 DataInputStream 的 .readUTF() 。
当 ServerThreadA 向流中写入内容时,只有 ClientThreadA 可以读取它,而不是 ClientThreadB。同样,我不希望 ClientThreadB 读取 ServerThreadA 所写的内容。
有什么方法可以实现吗?
编辑:
我想我可能解释得不好:我已经知道如何制作一个可以接受多个连接并给每个连接一个线程来处理的服务器,我想要的是让多个通信朝着同一个方向进行并在同一个客户端。因此,假设服务器连接到客户端,创建了一个表示连接的线程,但我想要做的是从 2 个不同的通道读取,如果你愿意的话,传输不同类型的数据。例如,我可能希望客户端同时发送两个字符串,而服务器同时读取它们
【问题讨论】:
标签: java multithreading sockets inputstream outputstream