没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
1. httpServer 实现原理
在 Http 协议之中,客户端总是要通过建立一个连接与发送一个 Http 请求来发起一个事
务。服务器不能主动与客户端联系,也不能给客户端发送一个回叫连接。
HTTP 请求包含以下三个部分:
Method - URI - Protocol/Version 方法 - 地址 - 版本
Request header 请求头
Entity Body 请求实体
下面本 JAVA 程序 httpServer 启动后客户端连接成功后服务器端的打印结果:
httpServer running on port : 8888
A new connection accepted /127.0.0.1:3282
The client request is GET /index.html HTTP/1.1
The client request is Accept: image/gif,image/x-xbitmap,
image/jpeg,image/pjpeg,
application/x-shockwave-flash,
application/xaml+xml,
application/x-ms-xbap,
application/x-ms-application,
application/QVOD,
application/QVOD, */*
The client request is Accept-Language: zh-cn
The client request is Accept-Encoding: gzip, deflate
The client request is User-Agent: Mozilla/4.0 (compatible;
MSIE 6.0; Windows NT 5.1; SV1; .NET4.0C; .NET CLR 3.0.04506.648;
.NET CLR 3.5.21022; .NET CLR 2.0.50727; 360SE)
The client request is Host: localhost:8888
The client request is Connection: Keep-Alive
本程序服务器默认启动在 8080 端口,也可以手动控制台输入端口号 port。启动服务
器之后,利用 ServerSocket 类来监听 Server 端口,等待 客户端连接请 求。一旦
Server 接收到连接,会创建单独的分线程给连接客户端,这个线程将会从头到尾去处理
请求,本程序中是利用 httpRequestHandler 类来处理客户端的请求连接的。示例代码:
while(true) {
Socket socket = ss.accept();
System.out.println("A new connection accepted "
+ socket.getInetAddress() +":" + socket.getPort());
//创建分线程
try {
httpRequestHandler request = new
httpRequestHandler(socket);
Thread thread = new Thread(request);
//启动线程
thread.start();
}catch(Exception e)
mengmengAiqiqi
- 粉丝: 1
- 资源: 7
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
- 3
- 4
- 5
- 6
前往页