`

ch026 Android Socket

 
阅读更多

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

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

package com.kawa.ch25;

 

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStreamReader;

import java.net.Socket;

import java.net.UnknownHostException;

 

public class HttpClient {

 

public static void main(String[] args) {

try {

// 实例化套接字

Socket socket = new Socket("127.0.0.1", 4700);

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

BufferedReader in = new BufferedReader(new InputStreamReader(

socket.getInputStream()));

// 输出请求结果

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

catch (UnknownHostException e) {

// TODO Auto-generated catch block

e.printStackTrace();

catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

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

package com.kawa.ch25;

 

import java.io.IOException;

import java.io.PrintWriter;

import java.net.ServerSocket;

import java.net.Socket;

 

public class HttpServer {

 

public HttpServer() {

try {

ServerSocket server = new ServerSocket(4700);// 实例化

while (true) {

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

PrintWriter out = new PrintWriter(socket.getOutputStream());

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

 

out.flush();// 刷新流

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

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

}

catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

 

public static void main(String[] args) {

new HttpServer();

}

 

private String getHtml() {

StringBuffer buff = new StringBuffer();

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

.append("<h1>helllo socket !!!!!!!!!</h1>").append("</body>")

.append("</html>");

return buff.toString();

}

}

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

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

package com.kawa.ch26;

 

import java.io.IOException;

import java.net.ServerSocket;

import java.net.Socket;

 

public class HttpServer {

 

public HttpServer() {

try {

ServerSocket ss = new ServerSocket(4800);

while (true) {

Socket s = ss.accept();

new HttpSession(s).start();

}

catch (IOException e) {

e.printStackTrace();

}

}

 

public static void main(String[] args) {

new HttpServer();

}

}

 

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

package com.kawa.ch26;

 

import java.io.IOException;

import java.io.PrintStream;

import java.net.Socket;

 

public class HttpSession extends Thread {

Socket socket;

PrintStream out;

public HttpSession(Socket s) {

this.socket = s;

try {

out = new PrintStream(s.getOutputStream());

catch (IOException e) {

e.printStackTrace();

}

}

 

public void run(){

out.println(getHtml());

out.flush();

out.close();

try {

socket.close();

catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

 

private String getHtml() {

StringBuffer buff = new StringBuffer();

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

.append("<h1>helllo socket !!!!!!!!!</h1>").append("</body>")

.append("</html>");

return buff.toString();

}

}

 

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

package com.kawa.ch26;

 

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStreamReader;

import java.net.Socket;

import java.net.UnknownHostException;

 

public class HttpClient {

 

public static void main(String[] args) {

try {

// 实例化套接字

Socket socket = new Socket("127.0.0.1", 4800);

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

BufferedReader in = new BufferedReader(new InputStreamReader(

socket.getInputStream()));

// 输出请求结果

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

catch (UnknownHostException e) {

// TODO Auto-generated catch block

e.printStackTrace();

catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

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

<!--EndFragment-->

  • 大小: 9.5 KB
0
3
分享到:
评论

相关推荐

    Android SDK开发范例大全(第二版)CH05.rar

    《Android SDK开发范例大全(第二版)CH05》是针对Android应用开发的一份重要资源,由清华大学出版社出版。这个压缩包包含了第五章的源代码,为开发者提供了丰富的实践示例,帮助深入理解Android SDK的使用。在这个...

    android 局域网聊天程序

    在Android平台上开发一款局域网聊天程序,主要涉及的技术点包括Android应用开发基础、网络编程以及Socket通信。这里我们将深入探讨这些关键知识点。 首先,Android应用开发基础是整个项目的基石。你需要熟悉Java...

    android ophone开发完全讲义源码ch02

    本讲义的第二章,"android ophone开发完全讲义源码ch02",将带你走进Android Ophone的世界,揭示其核心原理与开发技巧。 首先,Android Ophone是基于Android操作系统为中国移动定制的一个智能手机平台,它融合了...

    Android ophone开发完全讲义源码ch09-12

    《Android Ophone开发完全讲义源码:深入理解ch09-12》 在Android应用开发领域,尤其是针对Ophone平台的开发,深入理解源码是提升技能的关键。本讲义聚焦于ch09至ch12的核心知识点,旨在帮助开发者更全面地了解...

    安卓串口Socket通讯USB驱动jni相关-安卓开发之串口通信android-serialport-api-master.rar

    本文将深入探讨“安卓串口Socket通讯USB驱动jni”这一主题,主要基于提供的项目“安卓开发之串口通信android-serialport-api-master”。 首先,我们要了解串口通信(Serial Port Communication)。串口通信是一种点...

    Android SDK开发范例大全(第二版)CH03.rar

    《Android SDK开发范例大全(第二版)CH03》是针对Android应用程序开发的一本详尽教程,由清华大学出版社出版。这本书的第三章涵盖了Android SDK中的关键知识点,旨在帮助开发者深入理解和实践Android应用的构建过程。...

    Android SDK开发范例大全(第二版)CH09.rar

    《Android SDK开发范例大全(第二版)CH09》是一个关于Android应用程序开发的资源压缩包,主要聚焦在SDK的第九章内容。Android SDK是Android应用开发者的重要工具集,它包含了构建、测试和调试Android应用所需的所有...

    Android/Ophone开发完全讲义

    书中章节"CH05"、"CH04"、"CH03"可能分别对应Android开发的不同主题,比如第五章可能是关于网络编程,第四章可能涉及UI高级主题,第三章则可能涵盖数据存储和持久化。通过学习这些章节,读者可以全面掌握Android和...

    基于socket的聊天app.rar

    "基于socket的聊天app.rar"是一个Android平台上的聊天应用项目,它利用了网络编程中的Socket通信技术,以及SQLite数据库来实现用户注册和登录功能。以下是该项目涉及到的关键知识点: 1. **Socket通信**: - ...

    Android与Netty服务器连接

    Netty提供了丰富的API,允许开发者以一种声明式的方式来定义服务器和客户端的通道配置,从而避免了繁杂的底层Socket编程。 首先,要使用Netty在Android上建立连接,我们需要在项目中引入Netty库。由于Android对第三...

    Google Android SDK开发范例大全——示例代码

    9. **网络通信**:Android支持HTTP/HTTPS请求,WebSocket,以及使用Socket进行低级网络通信。示例代码可能会涉及如何使用HttpURLConnection、OkHttp或其他库进行网络请求。 10. **权限管理**:Android应用需要声明...

    应用桥梁网络与通信

    `ch13_serversocket`和`ch13_socket_data_transmit`可能涉及服务器端的Socket编程,如何创建服务器并接收客户端的连接,处理请求并返回数据。而`ch13_httpgetpost`可能涵盖了使用HTTP GET和POST方法通过Socket进行...

    Android设备与STM32单片机通信方式探讨.zip

    Android设备通常不直接支持UART,但可以通过USB转UART模块(如FTDI或CH340)来实现。在STM32端,配置UART接口,设置波特率、数据位、停止位和校验位,然后在Android应用中通过USB驱动程序访问UART端口进行数据交互。...

    ophone&android 开发完全讲义随书源码

    ├─ch02 │ └─ch02_showdatetime │ ├─assets │ ├─bin │ │ └─net │ │ └─blogjava │ │ └─mobile │ ├─gen │ │ └─net │ │ └─blogjava │ │ └─mobile │ ├─res │ │ ├─drawable ...

    mina传递图片实例

    在Android中,虽然原生的Socket编程可以实现数据传输,但MINA提供了更高级的抽象层,简化了网络编程的复杂性。 首先,我们需要在Android项目中引入MINA库。这通常通过Maven或Gradle来完成,添加相应的依赖到构建...

    FiveChess源码

    如果是在线对战模式,源码还会涉及网络通信,使用Socket编程或者第三方库如OkHttp进行实时对战数据交换。 总结起来,"FiveChess源码"不仅展示了如何构建一个简单的Android游戏,还揭示了如何处理游戏逻辑、构建用户...

    Mobile_Chess_Java.rar_Chess java_chess_java mobile che_mobile ch

    Java作为一种跨平台的编程语言,具有强大的可移植性,使得开发者能够轻松地将游戏应用到各种操作系统上,包括Android和一些老旧的Java ME平台。"Chess Java"是这款移动象棋游戏的核心,它利用Java的面向对象特性,...

    ap6212a0_a33_sc3817r_神舟验证版本_借用nvram_ap6210这个配置文件_20170626_1834没有外层目录.7z

    [ 3.958456] Bluetooth: RFCOMM socket layer initialized [ 3.964183] Bluetooth: RFCOMM ver 1.11 [ 3.968340] Bluetooth: BNEP (Ethernet Emulation) ver 1.3 [ 3.968638] [mmc]: sdc2 set ios: clk 25000000Hz ...

    ap6212a0_bb16v3_sina33验证通过BT的功能_wifi部分有问题_20170626_1148没有外层目录.7z

    [ 3.958456] Bluetooth: RFCOMM socket layer initialized [ 3.964183] Bluetooth: RFCOMM ver 1.11 [ 3.968340] Bluetooth: BNEP (Ethernet Emulation) ver 1.3 [ 3.968638] [mmc]: sdc2 set ios: clk 25000000Hz ...

    JavaTest_2530_Ch2

    Java的应用领域广泛,包括Web应用、移动应用(尤其是Android)、企业级应用、大数据处理等。 1. **基础语法**: - **变量与数据类型**:Java有八种基本数据类型,分为整型、浮点型、字符型和布尔型。同时,Java也...

Global site tag (gtag.js) - Google Analytics