use*_*356 5 sockets network-programming tcp
我试图围绕网络套接字.到目前为止,我的理解是服务器创建一个绑定到特定端口的新套接字.然后它侦听此套接字以处理客户端请求.
我已经阅读了这个教程http://docs.oracle.com/javase/tutorial/networking/sockets/definition.html,它说
如果一切顺利,服务器将接受连接.接受后,服务器获取绑定到同一本地端口的新套接字,并将其远程端点设置为客户端的地址和端口.它需要一个新的套接字,以便它可以继续监听原始套接字以获得连接请求,同时满足连接客户端的需求.
以下是我不太了解的一些事情
如果一切顺利,服务器将接受连接.
接受后,服务器获取绑定到同一本地端口的新套接字,并将其远程端点设置为客户端的地址和端口
新套接字已创建.它也绑定到同一个端口,但它不监听传入的请求.服务器处理完客户端请求后,会将响应写入此套接字,然后关闭.这是对的吗?
这是否意味着请求以某种方式从第一个套接字传递到第二个套接字?
它需要一个新的套接字,以便它可以继续监听原始套接字以获得连接请求,同时满足连接客户端的需求.
因此,创建新套接字然后侦听传入请求.有不同类型的插座吗?某种"听"插座和其他?
为什么服务器必须创建一个新的侦听套接字?为什么不能重复使用前一个呢?
是否为每个请求创建了新套接字?
大多数协议(例如具有保持活动的HTTP)允许每个连接多个请求.
归档时间: |
|
查看次数: |
2644 次 |
最近记录: |