Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何用Java创建一个简单的非持久性服务器?_Java_Sockets_Http - Fatal编程技术网

如何用Java创建一个简单的非持久性服务器?

如何用Java创建一个简单的非持久性服务器?,java,sockets,http,Java,Sockets,Http,作为学校作业的一部分,我正在尝试编写一个只处理非持久连接的简单服务器 我正在使用Java 从我到目前为止所读的内容来看,HTTP默认情况下是持久的,而Java中的Sockets/ServerSockets也是这样 如何实现非持久性套接字 这里的非持久性很可能意味着客户端的请求是通过(接受的)套接字提供的,该套接字不会被同一客户端的任何后续请求重复使用。(请看这里:一张漂亮的照片。) 因此,只需让服务器执行以下操作: 创建侦听套接字 将侦听套接字绑定到本地接口的地址:port 让插座听一听 等待在

作为学校作业的一部分,我正在尝试编写一个只处理非持久连接的简单服务器

我正在使用Java

从我到目前为止所读的内容来看,
HTTP
默认情况下是持久的,而Java中的Sockets/ServerSockets也是这样


如何实现
非持久性
套接字

这里的非持久性很可能意味着客户端的请求是通过(接受的)套接字提供的,该套接字不会被同一客户端的任何后续请求重复使用。(请看这里:一张漂亮的照片。)

因此,只需让服务器执行以下操作:

  • 创建侦听套接字
  • 将侦听套接字绑定到本地接口的地址:port
  • 让插座听一听
  • 等待在侦听套接字上接受客户端的传入连接
  • 从接受的套接字读取客户端的请求并对其进行解析
  • 创建响应并通过接受的套接字将其发送回客户端
  • 最后关闭并关闭先前接受的套接字
  • 4点重新开始

  • 通过
    persistent
    ,您的意思是可以在服务器关闭后生存吗?我的意思是,在这种情况下,persistent-我们无法理解您的老师的想法,但他可能希望您编写一个接受连接的服务器,发送回复,然后关闭连接。您的意思是分析所有HTTP头和编码以及HTTP也会产生的任何内容吗?非持久性套接字真是个地狱。在任何情况下,您都需要解析每个传入请求的每个头,而不管它是持久性连接还是非持久性连接。对于持久性连接,我可以使用现有的HTTP服务器。或者,等等,你的意思是我们应该总是从套接字级别开始,永远不要使用现有的HTTP技术吗?持久连接的优点是对
    accept()
    shutdown()的调用更少。在应用程序协议级别(此处为http)上没有区别。参考上面列出的步骤,您将在6点后重新开始。回到5。。解析请求头和创建响应头是5的一部分。六,。请注意第5点的更新。六,。在我的脑海里。