javasocket编程简单的web服务器

winifredfs      2022-04-22     167

关键词:

简单的WEB服务器

一个简单的WEB服务器将由列表9.2这样构建.当然,还必须要对方法和回应事件进行改进.简单的服务器不会分析和存储请求头.新的WEB服务器将分析和存储请求,为以后的处理作准备.为了达到这个目的,你必须有一个包含HTTP请求的类.

HTTPrequest类

列表9.5列出了一个完整的HTTPrequest类.这个类必须包括一个请求头所需的所有信息. 

列表9.5.HTTPrequest类. 

import java.io.*; 
import java.util.*; 
import java.net.*; 
import NameValue; 
/** 
* 这个类有一个HTTP请求的所有信息 
*/ 
public class HTTPrequest 

public String version; 
public String method; 
public String file; 
public Socket clientSocket; 
public DataInputStream inbound; 
public NameValue headerpairs[]; 
/** 
* 建立一个这个类的实例 
*/ 
public HTTPrequest() 

version = null; 
method = null; 
file = null; 
clientSocket = null; 
inbound = null; 
inbound = null; 
headerpairs = new NameValue[0]; 

/** 
* 加入一个名称/值对到核心数组
*/ 
public void addNameValue(String name, String value) 

try 

NameValue temp[] = new NameValue[ headerpairs.length + 1 ]; 
System.arraycopy(headerpairs, 0, temp, 0, headerpairs.length); 
temp[ headerpairs.length ] = new NameValue(name, value); 
headerpairs = temp; 

catch (NullPointerException npe) 

System.out.println("NullPointerException while adding name-value: 
" + npe); 


/** 
* 以字符串的形式归还这个类
*/ 
public String toString() 

String s = method + " " + file + " " + version + " "; 
for (int x = 0; x < headerpairs.length; x++ ) 
s += headerpairs[x] + " "; 
return s; 



NameValue类简单地存储了两个字符串:name 和 value.当一个新的对要被加入时,一个新的数组将被分配.新的数组接受了旧的数组和新的成员.旧的数组然后被一个新建的对象覆盖了。

 

     
技术分享图片 炼数成金 大型分布式系统案例实战 十四周大型分布式系统学习视频教程



































































javasocket编程学习笔记

 1.Socket通信简介及模型  JavaSocket可实现客户端--服务器间的双向实时通信。java.net包中定义的两个类socket和ServerSocket,分别用来实现双向连接的client和server端。2.Socket通信实现方法 2.1 服务器端(非多线程)   用... 查看详情

javasocket编程

申明:本文摘自:http://www.cnblogs.com/rocomp/p/4790340.htmlJava最初是作为网络编程语言出现的,其对网络提供了高度的支持,使得客户端和服务器的沟通变成了现实,而在网络编程中,使用最多的就是Socket。像大家熟悉的QQ、MSN都使用... 查看详情

javasocket编程简介

#JavaTCPIp编程 其实下面几张图片就可以解释简单解释tcp-ip协议的大体流程了。###计算机网络,分组报文和协议网络是一组通过通信信道相互连接的机器组成。组与组之间通过路由器连接数据通过分组报文传递协议,传输报文... 查看详情

javasocket编程学习笔记

在上一篇中,使用了javaSocket+Tcp/IP 协议来实现应用程序或客户端--服务器间的实时双向通信,本篇中,将使用UDP协议来实现Socket的通信。1.关于UDP  UDP协议(用户数据报协议)是无连接的、不可靠的、无序的,速度快,进行... 查看详情

javasocket编程----通信是这样炼成的

http://www.cnblogs.com/rocomp/p/4790340.htmlJava最初是作为网络编程语言出现的,其对网络提供了高度的支持,使得客户端和服务器的沟通变成了现实,而在网络编程中,使用最多的就是Socket。像大家熟悉的QQ、MSN都使用了Socket相关的技术... 查看详情

javasocket编程重复和并发服务器

重复和并发服务器这个应用程序被当作一个重复的服务器.因为它只有在处理完一个进程以后才会接受另一个连接.更多的复杂服务器是并发的.它为每一个请求分配一个线程,而不是来一个处理一个.所以看起来它在同时处理多人请... 查看详情

使用javasocket手撸一个http服务器

作为一个Java后端,提供HTTP服务可以说是基本技能之一,但是你真的理解HTTP协议吗?你知道如何使用HTTP服务器吗?Tomcat的底层如何支持HTTP服务?什么是著名的servlet以及如何使用它?套接字编程是您第一次学习Java时不可回避的... 查看详情

javasocket网络编程

使用套接字编写客户—服务器程序,实现客户—服务器交互计算。客户将三角形3个边的长度发给服务器,服务器把计算出的三角形的面积返回给客户。可以用GUI做出来吗?//==============Server.java=================//importjava.io.IOException;im... 查看详情

javasocket编程(代码片段)

Socket概念tcp协议全称是TransmissionControlProtocol,传输控制协议,是以字节流的方式发送数据的协议。ip全称为InternetProtocol互联网协议,tcp/ip协议在四层模型中的传输层。http、ftp、telnet(ssh)远程登录服务为应用层协议࿰... 查看详情

javasocket编程--聊天小案例

  很久以前写过socket聊天室,都快忘完了,心血来潮又重新写一遍。服务器端:packagecom.fancy;importjava.io.BufferedReader;importjava.io.IOException;importjava.io.InputStream;importjava.io.InputStreamReader;importjava.io.OutputStream;imp 查看详情

javasocket实现简单在线聊天

出处:http://blog.csdn.net/tuzongxun最近的项目有一个在线网页交流的需求,由于很久以前做过的demo已经忘记的差不多了,因此便重新学习一下。 我计划的大致实现步骤分这样几大步:1、使用awt组件和socket实现简单的单客户端向... 查看详情

Python Socket 编程 简单的 Web 服务器

】PythonSocket编程简单的Web服务器【英文标题】:PythonSocketProgrammingSimpleWebServer【发布时间】:2015-02-1423:00:29【问题描述】:我正在编写我的第一个Python套接字编程代码,但我不知道出了什么问题。我输入运行该程序的服务器的IP... 查看详情

javasocket实现服务端,客户端简单网络通信。chat

之前写的实现简单网络通信的代码,有一些严重bug。后面详细写。根据上次的代码,主要增加了用户注册,登录页面,以及实现了实时显示当前在登录状态的人数。并解决一些上次未发现的bug。(主要功能代码参见之前随笔https://... 查看详情

javasocket编程

一、网络编程概述网络编程是指编写运行在多个设备(计算机)的程序,这些设备都通过网络连接起来。java.net包中J2SE的API包含有类和接口,它们提供低层次的通信细节。你可以直接使用这些类和接口,来专注于解决问题,而不... 查看详情

javasocket编程(li)

一、网络编程中两个主要的问题  一个是如何准确的定位网络上一台或多台主机,另一个就是找到主机后如何可靠高效的进行数据传输。在TCP/IP协议中IP层主要负责网络主机的定位,数据传输的路由,由IP地址可以唯一地确定In... 查看详情

项目日志之基于javasocket的网络通讯

   JavaAPI网络类包中的Socket类是网络上运行的两个程序间双向通信的一端,它既可以接受请求,也可以发送请求,利用它可以较为方便的编写网络上数据的传递。我们打算通过Java中基于Socket的网络编程实现一个简单的... 查看详情

javasocket编程实现群聊(超详细)(代码片段)

Javasocket编程实现群聊最终效果文末有完整代码,创作不易,点个赞再走吧~客户端之间的交流有人退出群聊时,减少在线人数实现流程1、项目结构即原理分析功能实现多客户之间聊天实时统计在线人数图形化界面创建... 查看详情

javasocket编程api基础

 Socket是Java网络编程的基础,深入学习socket对于了解tcp/ip网络通信协议很有帮助,  此文讲解Socket的基础编程。Socket用在哪里:①、主要用在进程间,②、网络间通信。文章目录如下:一、Socket通信基本示例二、消息通信优... 查看详情