我想用纯Java实现我自己的Web服务器,该Web服务器应仅支持静态资源(即html,js,css,图片,电影等)。
您能推荐有关如何实现这种事情的教程或文章吗?我应该使用几个进程或线程池,还是应该考虑像NodeJS这样的面向循环事件的对象?
我知道有一些免费的网络服务器可以完全满足我的需求,但我想以此为自己的锻炼。
我建议您熟悉HTTP请求格式http://datatracker.ietf.org/doc/rfc2616/。从头开始实现HTTP并非易事,但这无疑是一个很好的学习练习。
在Java本身为简单起见,我建议使用一个线程,每个请求的服务器- http://tutorials.jenkov.com/java-
multithreaded-servers/multithreaded-
server.html
-即使用java.nio
的投放文件。在并发设置java.nio
中,java.io
由于其更好地平衡负载,因此更可取。您可能会发现基准测试建议这样java.io
做更快,但这是针对顺序单线程代码的。
Twisted Twisted 是一个事件驱动的网络引擎。他可以被用来构建多种网络协议的应用程序,包括:HTTP 服务器和客户端;使用 SMTP、POP3、IMAP 或者 SSH 协议测应用程序和 IM (即时消息)等应用 更多。 PyZMQ PyZMQ 是 ZeroMQ 的 Python 绑定。ZeroMQ 是一个高性能的异步消息库,它的一个很大的优势在于其可以被用作一个消息队列而不需要消息代理
当使用uWSGI网络服务器搭配geventd的时候,Socket.IO服务器的时候,可以利用uWSGI原生的WebSocket支持。 一 个配置和运用uWSGI服务器完整的解释超出了本文的论述范围。uWSGI服务器确实是一个比较复杂的,它提供了大量而又详尽的设置选项。它必须使用 Websocket和SSL编译才能支持WebSocket传输。作为介绍,下面的命令启动了一个uWSGI服务器作为范例,这
网络服务提供弹性公网IP、NAT网关、DNS解析等功能。 弹性公网IP 弹性公网IP(Elastic IP)是一种NAT IP,通过与虚拟机绑定,将弹性公网IP与虚拟机的私有地址进行NAT映射,实现虚拟机与公网之间的通信。 NAT网关 NAT网关能够为公有云VPC网络中虚拟机提供IP地址转换功能,使虚拟机可以访问外网或提供互联网服务。 DNS解析 DNS解析用于将简单好记的域名解析为计算机用于通信
Reorganized by Murray Stokely. 30.1. 概要 本章将覆盖某些在 UNIX® 系统上常用的网络服务。话题将会涉及如何安装、配置、测试和维护多种不同类型的网络服务。本章节中将提供大量配置文件的样例,期望能够对您有所裨益。 在读完本章之后,您将会知道: 如何管理 inetd。 如何设置运行一个网络文件系统。 如何配置一个网络信息服务器以共享用户帐号。 如何通过DHCP自
Server Types Server Objects Implementing a Server Request Handlers Echo Example # socketserver_echo.py import logging import sys import socketserver logging.basicConfig(level=logging.DEBUG,
我一直试图让spark在我的本地机器上运行kubernetes。然而,我在试图理解服务网络是如何工作的方面遇到了一个问题。 我在笔记本电脑上用容器运行kubernetes: null kubectl create-f Kubernetes/examples/spark/spark-master-controller.yaml kubectl create-f Kubernetes/examples