分客户端和服务器端两大部分介绍: 客户端: 1.WiFi连接: 1.1开启WiFi      
public void openWifi () {              if (!mWifiManager .isWifiEnabled()) {                 mWifiManager.setWifiEnabled(true);             }         }




1.2添加一个网络并连接(添加网络即将此WifiConfiguration至wificonfiglist
mWifiAdmin.addNetwork( mWifiAdmin.createWifiInfo(Constant.HOST_SPOT_SSID,        Constant.HOST_SPOT_PASS_WORD , WifiAdmin. TYPE_WPA));



     具体实现函数:      // 添加一个网络并连接    
public void addNetwork(WifiConfiguration wcg) {               register();               WifiApAdmin. closeWifiAp(mContext);               int wcgID = mWifiManager .addNetwork(wcg );//成功返回wifiId,否则-1        boolean b = mWifiManager.enableNetwork(wcgID, true);    }


                         可见,    addNetwork之前需要先根据SSID,password,type(加密协议)创建    WifiConfiguration,,并且每次都需重新创建(若已经在wificonfiglist 列表存在,则先删除),然后通过.addNetwork函数添加至wificonfiglist 列表,然后通过.enableNetwork方法连接该WiFi。                    2.socket通信:           2.1.获取服务器的IP,端口信息               首先获得服务器端即热点的IP          
WifiManager wifiManage = (WifiManager) getSystemService (Context.WIFI_SERVICE );                            DhcpInfo info = wifiManage.getDhcpInfo ();     String serverAddress = intToIp(info. serverAddress );


 2.2将服务器端IP和要传输数据作为参数构造客户端线程(),并启动。      
client=new Sender (serverAddress, messagec);                            client.start();
   
     在Sender线程类的run方法中,先声明sock,其中参数为IP地址和自定义端口,定义输出流和输入流,其中客户端输出流发送数据至服务器端,目的是唤醒服务器端输入流内阻塞中的read函数,让服务器端自动继续往下执行输出流发送数据的程序;客户端输入流接收从服务器端传入的数据,放于可变字符串StringBuffer内,再由handler机制,传至主线程,刷新TextView控件
服务器端:
有点累,下篇再整理。。。

更多相关文章

  1. “罗永浩抖音首秀”销售数据的可视化大屏是怎么做出来的呢?
  2. Nginx系列教程(二)| 一文带你读懂Nginx的正向与反向代理
  3. Nginx系列教程(三)| 一文带你读懂Nginx的负载均衡
  4. RHEL 6 下 DHCP+TFTP+FTP+PXE+Kickstart 实现无人值守安装
  5. 不吹不黑!GitHub 上帮助人们学习编码的 12 个资源,错过血亏...
  6. Android通过RandomAccessFile 向文件中写入数据
  7. 确认数据android 弹出提示框
  8. Android(安卓)命令 - sqlite3
  9. Android之四大组件、五大存储、七大布局

随机推荐

  1. 学习Service
  2. android 绘制虚线和虚线圆
  3. 发送短信范例
  4. 以android实际开发为背景整理学习资料
  5. Android组件Spinner使用
  6. Android中Touch事件分发过程全解析
  7. Android多国语言缩写(最全)
  8. Android(安卓)Framework下StageFright框
  9. Android游戏设计中的音频控制——音量调
  10. 【Android】Android(安卓)Studio 快速打