--------------------------------------------第一部分-----------------------------------------------

--------------------------------------------HttpClient.java---------------------------------------

packagecom.kawa.ch25;

importjava.io.BufferedReader;

importjava.io.IOException;

importjava.io.InputStreamReader;

importjava.net.Socket;

importjava.net.UnknownHostException;

publicclassHttpClient{

publicstaticvoidmain(String[]args){

try{

//实例化套接字

Socketsocket=newSocket("127.0.0.1",4700);

//向本机的4700端口发出客户请求

BufferedReaderin=newBufferedReader(newInputStreamReader(

socket.getInputStream()));

//输出请求结果

System.out.println(in.readLine());

}catch(UnknownHostExceptione){

//TODOAuto-generatedcatchblock

e.printStackTrace();

}catch(IOExceptione){

//TODOAuto-generatedcatchblock

e.printStackTrace();

}

}

}

--------------------------------------------HttpServer.java---------------------------------------

packagecom.kawa.ch25;

importjava.io.IOException;

importjava.io.PrintWriter;

importjava.net.ServerSocket;

importjava.net.Socket;

publicclassHttpServer{

publicHttpServer(){

try{

ServerSocketserver=newServerSocket(4700);//实例化

while(true){

Socketsocket=server.accept();//获取请求套接字

PrintWriterout=newPrintWriter(socket.getOutputStream());

out.println(getHtml());//输出流

out.flush();//刷新流

out.close();//关闭输出流

socket.close();//关闭套接字

}

}catch(IOExceptione){

//TODOAuto-generatedcatchblock

e.printStackTrace();

}

}

publicstaticvoidmain(String[]args){

newHttpServer();

}

privateStringgetHtml(){

StringBufferbuff=newStringBuffer();

buff.append("<html>").append("<title>socket</title>").append("<body>")

.append("<h1>helllosocket!!!!!!!!!</h1>").append("</body>")

.append("</html>");

returnbuff.toString();

}

}

--------------------------------------------第二部分----------------------------------------------

--------------------------------------------HttpServer.java--------------------------------------

packagecom.kawa.ch26;

importjava.io.IOException;

importjava.net.ServerSocket;

importjava.net.Socket;

publicclassHttpServer{

publicHttpServer(){

try{

ServerSocketss=newServerSocket(4800);

while(true){

Sockets=ss.accept();

newHttpSession(s).start();

}

}catch(IOExceptione){

e.printStackTrace();

}

}

publicstaticvoidmain(String[]args){

newHttpServer();

}

}

--------------------------------------------HttpSession.java-------------------------------------

packagecom.kawa.ch26;

importjava.io.IOException;

importjava.io.PrintStream;

importjava.net.Socket;

publicclassHttpSessionextendsThread{

Socketsocket;

PrintStreamout;

publicHttpSession(Sockets){

this.socket=s;

try{

out=newPrintStream(s.getOutputStream());

}catch(IOExceptione){

e.printStackTrace();

}

}

publicvoidrun(){

out.println(getHtml());

out.flush();

out.close();

try{

socket.close();

}catch(IOExceptione){

//TODOAuto-generatedcatchblock

e.printStackTrace();

}

}

privateStringgetHtml(){

StringBufferbuff=newStringBuffer();

buff.append("<html>").append("<title>socket</title>").append("<body>")

.append("<h1>helllosocket!!!!!!!!!</h1>").append("</body>")

.append("</html>");

returnbuff.toString();

}

}

--------------------------------------------HttpClient.java---------------------------------------

packagecom.kawa.ch26;

importjava.io.BufferedReader;

importjava.io.IOException;

importjava.io.InputStreamReader;

importjava.net.Socket;

importjava.net.UnknownHostException;

publicclassHttpClient{

publicstaticvoidmain(String[]args){

try{

//实例化套接字

Socketsocket=newSocket("127.0.0.1",4800);

//向本机的4700端口发出客户请求

BufferedReaderin=newBufferedReader(newInputStreamReader(

socket.getInputStream()));

//输出请求结果

System.out.println(in.readLine());

}catch(UnknownHostExceptione){

//TODOAuto-generatedcatchblock

e.printStackTrace();

}catch(IOExceptione){

//TODOAuto-generatedcatchblock

e.printStackTrace();

}

}

}

--------------------------------------------结果---------------------------------------------------

<!--EndFragment-->

更多相关文章

  1. android 回调函数二:应用实例
  2. Android开发实例详解之IMF(Android SDK Sample—SoftKeyboard)
  3. Android开发手记一 NDK编程实例
  4. Android中的Shape和Selector的结合使用实例
  5. android 通知Notification的使用小实例(振动,灯光,声音)

随机推荐

  1. Android(安卓)ListView滑动过程中图片显
  2. Android 程式开发:(一)详解Activity —— 1.
  3. Android撬动IT市场的新支点!
  4. Android的init过程详解(一)
  5. 《程序人生 —— Android实现录音、播音
  6. Android 不要把android做成ios!
  7. Android 图片加载Bit地图 OOM异常解决方
  8. Android进程与线程基本知识一
  9. 微软的 Android 计划:邪恶的天才计划或只
  10. android Setting中隐藏项实现原理与代码