前期准备:我的是Linux Mint操作系统(总之折腾的过程中怀疑过是不是系统的问题),首先是要创建wifi热点给android手机使用,这个时候笔记本作为通信的服务器端,android手机作为客户端,通过socket进行通信。

1.在eclipse下写好服务器端的代码,包括监听的端口好,客户端的IP地址获取,发送的数据处理等,这里涉及到J2EE的环境配置,有时间我在写下,这个代码是直接百度到的,能用:

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;

public class Test {
    private ServerSocket server;
    private Socket client;
    private BufferedReader in;
    private PrintWriter out;

    public Test() {
        try {
            server = new ServerSocket(9400);
            while (true) {
                System.out.println("start!");
                // 获得客户端连接
                client = server.accept();
                // 获得客户端的IP和端口
                String remoteIP = client.getInetAddress().getHostAddress();
                int remotePort = client.getLocalPort();

                System.out.println("A client connected. IP:" + remoteIP
                        + ", Port: " + remotePort);
                System.out.println();

                // 获得 client 端的输入输出流,为进行交互做准备
                in = new BufferedReader(new InputStreamReader(
                        client.getInputStream()));
                out = new PrintWriter(client.getOutputStream(), false);

                // 获得 client 端发送的数据
                String tmp = in.readLine();
                // String content = new String(tmp.getBytes("utf-8"));
                System.out.println("Client message is: " + tmp);

                // 向 client 端发送响应数据
                out.println("Your message has been received successfully!.");

                // 关闭各个流
                out.close();
                in.close();
                // server.close();
            }
        } catch (Exception e) {
            // 发送响应,接收失败
            System.out.println(e.toString());
            out.println("Receive Error!");
        }
    }

    public static void main(String[] args) {
        new Test();
    }

}

代码看起来也不是太难,关键是Java EE的使用,尤其是服务器的配置,(配置教程涉及到tomcat的配置,以及服务器的建立),

Android客户端与PC服务端、android服务端通过WiFi通信

Project name随便写好了,然后next---->next,需要把Generate web.xml deployment descriptor勾选上。注意:

Android客户端与PC服务端、android服务端通过WiFi通信

Java Resources 下的src文件夹下里面放的是相关的类,这个类写完之后还在Webcontent文件夹--->WEB-INF文件夹下的web.xml里面配置:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://java.sun.com/xml/ns/javaee"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
    id="WebApp_ID" version="3.0">
    <display-name>TomcatTest</display-name>
    <welcome-file-list>
        <welcome-file>index.html</welcome-file>
        <welcome-file>index.htm</welcome-file>
        <welcome-file>index.jsp</welcome-file>
        <welcome-file>default.html</welcome-file>
        <welcome-file>default.htm</welcome-file>
        <welcome-file>default.jsp</welcome-file>
    </welcome-file-list>
    <servlet>
        <servlet-name>Test</servlet-name>
        <servlet-class>Test</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>Test</servlet-name>
        <url-pattern></url-pattern>
    </servlet-mapping>
</web-app>
View Code

相关文章: