|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
市场分额,java比asp高一点,因为C#是仿照java开发的,所以哦C#能做的java都能做到,但是java能做的,C#不一定都能做到。毕竟是抄袭吗。input=socket.getInputStream();
output=socket.getOutputStream();
await因而就创立一个Request对象并挪用它的parse办法来剖析原始的HTTP哀求信息。
//createRequestobjectandparse
Requestrequest=newRequest(input);
request.parse();
接上去,await办法创立了一个Response对象,利用setRequest办法并挪用它的sendStaticResource办法。
//createResponseobject
Responseresponse=newResponse(output);
response.setRequest(request);
response.sendStaticResource();
最初,await封闭该Socket。挪用Request的getUri办法来反省HTTP哀求的URI是不是是一个shutdown命令。假如是,shutdown变量被设置为true,程序加入while轮回。
//Closethesocket
socket.close();
//checkifthepreviousURIisashutdowncommand
shutdown=request.getUri().equals(SHUTDOWN_COMMAND);
Request类
Request类代表一个HTTP哀求。Socket处置客户真个通信,将前往一个InputStream对象,经由过程传送该对象,能够机关一个Request类的实例。经由过程挪用InputStream对象的read办法来取得这个HTTP哀求的原始数据(rawdata)。
Request有两个大众办法:parse和getUri。parse办法注释HTTP哀求的原始数据。它不做良多事变----它可以使用的独一信息只是HTTP哀求的URI,这个URI是从公有办法parseUri.失掉的。parseUri办法保留URI到uri变量中,然后挪用大众办法getUri来前往一个HTTP哀求的URI。
为了了解parse和parseUri办法是怎样事情的,必要晓得HTTP哀求的外部布局。这个布局是在RFC2616文档中界说的。
一个HTTP哀求包括三个部分:
哀求行(Requestline)
哀求包头(Headers)
动静体(Messagebody)
如今,我们仅仅只对HTTP哀求的第一部分哀求行(Requestline)感乐趣。一个哀求行由办法标志入手下手,前面根哀求的URI和协定版本,最初由CRLF字符停止。哀求行中的元素被空格字符分隔。好比,利用GET办法哀求的index.html文件的哀求行以下:
GET/index.htmlHTTP/1.1//这是一个哀求行
办法parse从socket的InputStream中读取全部字撙节,该字撙节是Request对象传送出去的,然后parse将这些字撙节存储在一个缓冲区里,在缓冲区中组装一个称为request的StringBuffer对象。
上面的Listing1.2.显现了parse办法的用法:
Listing1.2.TheRequestclassparsemethod
publicvoidparse(){
//Readasetofcharactersfromthesocket
StringBufferrequest=newStringBuffer(2048);
inti;
byte[]buffer=newbyte[2048];
try{
i=input.read(buffer);
}
catch(IOExceptione){
e.printStackTrace();
i=-1;
}
for(intj=0;j<i;j++){
request.append((char)buffer[j]);
}
System.out.print(request.toString());
uri=parseUri(request.toString());
}
再说第三点:我并没有提到服务器也要整合,然后是IDE,一个好的IDE能够200%提高开发的速度,就说图形方面:你是经过简单托拽和点击就能实现功能好那。 |
|