开启本地服务器,扫描二维码进行通信

前言:之前写过一个通过socket通信的软件,实现pc与android互相传送文件,android控制pc等等功能。现在想做一个使用http通信的(纯粹无聊),优点是不需要下载android客户端,并且希望能在ios端也可以使用(当然有待改进)。手机通过扫描产生的二维码来访问pc的客户端,再进行通信。


现在只处于demo阶段,后面有空陆续上传完整版。现在还是学生,有待指导。


1.使用的技术

Java开启Web服务器,使用zwing生成二维码






2.UI讲解

ui如下:
开启本地服务器,利用二维码进行通信[Demo]_第1张图片

第一个框是ip 第二个框是工程web目录下的文件名:这里要把需要手机访问的内容添加在工程web目录下(未来可能改进自动获取) 点击make生成二维码,再用手机扫描









3. 代码讲解


开启本地服务器,利用二维码进行通信[Demo]_第2张图片
start.java                         :启动main SimpleHttpServer.java      :开启http服务器
UI.java                            :UI界面
MatrixToImageWriter.java :生成二维码


SimpleHttpServer:
public class SimpleHttpServer implements Runnable {   //...public static int PORT = 9528;// 端口  这里可以设置端口   //... void fileReaderAndReturn(String fileName, Socket socket) throws IOException {   //...//下面设置对应文件类型的处理:例如html:text/html  还有很多 具体可以百度contentType if ("htmlhtmxml".indexOf(fileEx) > -1) { //(显示)匹配文件类型 , 如果是html,htm,xml..               contentType = "text/html;charset=UTF-8";           } else if ("jpeggifbpmpng".indexOf(fileEx) > -1) { // (下载)如果是jpeg,jpg,gif,bpm,png,pdf等等..               contentType = "application/binary";           }  // else if ("jpg".indexOf(fileEx) > -1) { // (图片显示)  //       contentType = "image/JPG";   //}          else if("pdf".indexOf(fileEx) > -1){      contentType = "application/pdf";        }        else if("xml".indexOf(fileEx) > -1){ contentType = "text/xml";       }}//...   /** */     /**       * 启动 HTTP 服务器       *        * @param args       */      public static void startServer() {                new SimpleHttpServer();       }}





MatrixToImageWriter:
public final class MatrixToImageWriter { // 导出文件public static void writeToFile(BitMatrix matrix, String format, File file) {..}//导出流public static void writeToStream(BitMatrix matrix, String format, OutputStream stream) {..}//最后我自己修改加了一个writeToBufferedImagepublic static BufferedImage writeToBufferedImage(BitMatrix matrix, String format) {..}}








4.Demo下载

demo.jar

5.参考

http://blog.csdn.net/klyun/article/details/1682943
http://www.2cto.com/kf/201302/187345.html








更多相关文章

  1. Android 二维码 生成和识别(附Demo源码)
  2. Android下的串口通信实战之控制客显
  3. 阿里Android开发规范:进程、线程与消息通信
  4. 基于Java Socket的自定义协议,实现Android与服务器的长连接(二)
  5. Android netd和Framework以及netd和kernel之间的通信
  6. android 解析服务器数据使用json还是xml方式
  7. Android二维码扫描开发(一):实现思路与原理
  8. Android网络通信(7):NFC
  9. Android串口开发之使用JNI实现ANDROID和串口通信详解

随机推荐

  1. 如何在 Ubuntu 20.04 上添加交换空间
  2. 如何在 Ubuntu 20.04 上安装 MariaDB
  3. 使用 docker buildx 构建多 CPU 架构镜像
  4. Ubuntu 实例中添加 swap 分区的方法
  5. ubuntu 18.04 如何设置开机自动启动脚本
  6. CentOS 7 执行 yum 命令失败问题的排查方
  7. 如何在 Ubuntu 20.04 上安装 Node.js 和
  8. 【北亚数据恢复】sqlserver数据库被加密
  9. 如何在 Ubuntu 20.04 上安装 Apache
  10. 怎么练习绘画线条?板绘线稿入门方法教程