![]() |
1
6
套接字由以下元组标识,
即使1000个客户机都连接到同一个端口(dest端口),每个都将获得自己的套接字。所以你将有1000个插座打开。 维护1000个带有阻塞I/O的套接字是很困难的,这通常意味着1000个线程。你需要使用NIO。我们有一个服务器 Mina ,峰值可处理2000个连接。 |
![]() |
2
2
是的,您的服务器将在端口2202上打开一个套接字,1000个客户机将与其连接。 服务器打开服务器套接字,客户端将打开客户端套接字,这是不同的。
在服务器上,使用getinputstream函数从客户端获取数据,使用getoutputstream函数向客户端发送数据。 注意:您应该使用线程来处理客户端的每个请求 |
![]() |
3
1
许多使用阻塞I/O的套接字客户机没有任何问题(您可以看一下 this article 更多信息)。但是,还有其他方法可以更好地满足您的需求:
|
![]() |
4
0
与1000个客户端同时使用简单的Java套接字编程并不是完美的方法。问题在于,在Fedora Linux中,可以打开的文件的最大值是1024,而在Windows中,它是2048或类似的文件。因此,在服务器端,您将发现打开了1000多个文件,然后如果客户机继续增加,那么您将发现有太多的文件处于开启状态错误。因此,更好的方法是使用非阻塞套接字编程(我的意思是使用socket channel),同时使用套接字通道,根据我的检查,我们可以与20000个客户机连接,没有任何问题。 所以最好使用NIO。有一本很好的书来自奥利利出版的Java NIO。 我已经使用了Java NIO(套接字通道) 谢谢 苏尼尔·库马尔·萨胡 |
![]() |
Abhilash Das · 输入文本时,编辑文本与工具栏重叠 1 年前 |
![]() |
Community wiki · 局部变量可能尚未初始化 1 年前 |
![]() |
jvargas · 如何获取上个月的第一天和最后一天以及一年的第一天 2 年前 |