Jav*_*ava 5 java sockets port multithreading client-server
我正在创建一个具有登录页面的Web应用程序,其中用户数量可以同时尝试登录.所以在这里我需要一次处理多个请求.
我知道这已经在许多热门网站上实现了G talk.
所以我脑子里有些问题.
"一次端口可以处理多少个请求?"
我(服务器)可以创建多少个套接字?有什么限制吗?
例如.我们知道当我们使用Socket编程(TCP)实现客户端服务器通信时,我们将'端口号(未预留的端口号)传递给服务器以创建套接字.
所以我的意思是说,如果一次有100000个请求,那么接收这些所有请求的端口是什么.
他是否为所有这些请求编制了一些队列,或者他只是根据他的限制接受了多少个请求?如果是,什么是处理请求限制端口大小?
简介:我想知道服务器如何同时处理多个请求?我不知道有什么事情.我知道我们通过它的IP地址和端口号与服务器连接.所以我认为只有一个端口和许多请求只通过不同的客户端来到该端口,那么服务器如何管理所有请求呢?
这就是我想知道的.如果你详细解释这个概念,那将非常有帮助.不管怎么说,还是要谢谢你.
端口不处理请求,它接收数据包。根据服务器的实现,此数据包可能由一个或多个进程/线程处理,因此理论上这是无限的。但是您将始终受到带宽和处理性能的限制。
如果大量数据包到达一个端口并且无法及时处理,它们将被缓冲(由服务器、操作系统或硬件)。如果这些缓冲区已满,则网络组件(路由器、交换机)和网络流量所基于的协议可能会处理拥塞。例如,TCP 有一些方法可以避免或控制拥塞:http : //en.wikipedia.org/wiki/Transmission_Control_Protocol#Congestion_control
这通常是在您正在使用的应用程序/Web 服务器中配置的。如何限制并发请求的数量是通过限制允许服务器生成来服务请求的并行工作线程的数量。如果传入的请求多于可用线程来处理它们,它们将开始排队。这是您通常配置的第二件事,即套接字积压大小。当积压已满时,当新请求到来时,服务器将开始响应“连接被拒绝”。
| 归档时间: |
|
| 查看次数: |
5758 次 |
| 最近记录: |