gpt4 book ai didi

java - 在Java中,我们可以只使用一个套接字同时运行多个ObjectOutputStream吗?

转载 作者:行者123 更新时间:2023-12-01 22:04:10 24 4
gpt4 key购买 nike

就像

Socket sk = new Socket(ip,port);
ObjectOutputStream out1 = new ObjectOutStream(sk.getOutputStream());
....same for out2
ObjectInputStream in1 = new ObjectInputStream(sk.getInputStream());
....:same for in2
new Thread(new Thread1(out1,in1)).start();
new Thread(new Thread2(out2,in2)).start();

我们可以有这样的东西吗——同时读写两种不同类型的数据?就我而言,它是在发送消息的同时传输文件?

最佳答案

不..除非..你编写一个线程安全的流多路复用器。 (如 https://www.cs.kent.ac.uk/projects/ofa/jcsp/jcsp-1.1-rc4/jcsp-doc/org/jcsp/plugNplay/Multiplex.html 但看起来不是线程安全的)

想象一下套接字另一侧的那些流。如果所有内容都通过单个 channel 传输,您如何知道哪些位来自哪个线程?

关于java - 在Java中,我们可以只使用一个套接字同时运行多个ObjectOutputStream吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33110532/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com