好的,所以我已经阅读了 Oracal 网站上的内容以及该网站上的一些问题。我仍然很难理解有关套接字的一些事情,所以我会看看这里是否有人可以花时间向我缓慢的大脑解释它。我正在做的是建立一个聊天客户端和聊天服务器(一举学习摇摆和套接字)。尽管我看过所有的例子,但我仍然不能安静地理解它们是如何工作的。我知道 1 个带有输入流的套接字和 1 个带有输出流的套接字是如何工作的,但除此之外,我很难理解,因为这是我找到的大多数资源所解释的。这是我关于此的一系列问题。
- 如果我希望能够同时处理客户端的输入和输出,我会怎么做?等待out,那么如果服务器有变化切换到输入流并得到变化,然后切换回输出流?或者我可以同时运行输入和输出流吗?
- 假设服务器必须同时处理多个客户端。我必须为每个客户制作一个套接字,对吗?你会建议什么是处理这个问题的好方法?
- 假设客户端想要更改其当前套接字的 IP 地址或端口并连接到不同的服务器。我会创建一个新的套接字,还是有办法改变当前的?
这是我的主要问题。如果我能理解这么多,我很确定我可以自己弄清楚我需要的其余部分。
.