ch026 Android Socket
--------------------------------------------第一部分-----------------------------------------------
--------------------------------------------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-->
更多相关文章
- android 回调函数二:应用实例
- Android开发实例详解之IMF(Android SDK Sample—SoftKeyboard)
- Android开发手记一 NDK编程实例
- Android中的Shape和Selector的结合使用实例
- android 通知Notification的使用小实例(振动,灯光,声音)