是否为每个请求创建了新套接字?

 北京馨香海棠 发布于 2023-02-06 13:25

我试图围绕网络套接字.到目前为止,我的理解是服务器创建一个绑定到特定端口的新套接字.然后它侦听此套接字以处理客户端请求.

我已经阅读了这个教程http://docs.oracle.com/javase/tutorial/networking/sockets/definition.html,它说

如果一切顺利,服务器将接受连接.接受后,服务器获取绑定到同一本地端口的新套接字,并将其远程端点设置为客户端的地址和端口.它需要一个新的套接字,以便它可以继续监听原始套接字以获得连接请求,同时满足连接客户端的需求.

以下是我不太了解的一些事情

如果一切顺利,服务器将接受连接.

    这是否意味着客户端请求成功到达侦听套接字?

接受后,服务器获取绑定到同一本地端口的新套接字,并将其远程端点设置为客户端的地址和端口

    新套接字已创建.它也绑定到同一个端口,但它不监听传入的请求.服务器处理完客户端请求后,会将响应写入此套接字,然后关闭.这是对的吗?

    这是否意味着请求以某种方式从第一个套接字传递到第二个套接字?

它需要一个新的套接字,以便它可以继续监听原始套接字以获得连接请求,同时满足连接客户端的需求.

    因此,创建新套接字然后侦听传入请求.有不同类型的插座吗?某种"听"插座和其他?

    为什么服务器必须创建一个新的侦听套接字?为什么不能重复使用前一个呢?

user207421.. 6

    不.这意味着传入的连接到达服务器.

    不.如果服务器关闭它会关闭.不是这样.

    不.这意味着传入连接会导致完全形成连接,并在服务器上创建一个套接字来表示它的服务器端端点.

    (a)否.创建一个新的套接字来接收请求并发送响应.(b)是的.有被动和主动插座.被动套接字侦听连接.活动套接字发送和接收数据.

    它不必创建新的侦听(被动)套接字.它必须创建一个新的活动套接字作为新连接的端点.

是否为每个请求创建了新套接字?

大多数协议(例如具有保持活动的HTTP)允许每个连接多个请求.

1 个回答
    1. 不.这意味着传入的连接到达服务器.

      不.如果服务器关闭它会关闭.不是这样.

      不.这意味着传入连接会导致完全形成连接,并在服务器上创建一个套接字来表示它的服务器端端点.

      (a)否.创建一个新的套接字来接收请求并发送响应.(b)是的.有被动和主动插座.被动套接字侦听连接.活动套接字发送和接收数据.

      它不必创建新的侦听(被动)套接字.它必须创建一个新的活动套接字作为新连接的端点.

    是否为每个请求创建了新套接字?

    大多数协议(例如具有保持活动的HTTP)允许每个连接多个请求.

    2023-02-06 13:27 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有