- 浏览: 271590 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
flyingsnowff:
支付宝官方在线文档中心:https://doc.open.al ...
如何集成支付宝官方文档 -
timer_yin:
果然是这样
[转帖] 安装Eclipse插件长时间卡在 calculating requirements and dependencies -
dai_lm:
lyx0224 写道强~~~~~过奖,只是总结了前人的智慧,拼 ...
通过Wifi实现设备间的通信 -
lyx0224:
强~~~~~
通过Wifi实现设备间的通信 -
Goro:
帅!
自己封装的支持自动对焦的CameraView
服务器端,建立监听(方法更新,可以同时连接多个Client)
客户端,发送消息
public class Server extends ServerSocket { private static ArrayList<String> mUserList = new ArrayList<String>(); private static ArrayList<Thread> mThreader = new ArrayList<Thread>(); private static LinkedList<String> mMessageArray = new LinkedList<String>(); private static int mThreadCounter = 0; private static boolean isClear = true; public Server(int port) throws IOException { super(port); new Broadcast(); try { while (true) { Socket socket = accept(); new CreateServerThread(socket); } } catch (IOException e) { } finally { close(); } } // --- CreateServerThread class CreateServerThread extends Thread { private Socket client; private BufferedReader in; private PrintWriter out; private String username; public CreateServerThread(Socket s) throws IOException { client = s; in = new BufferedReader(new InputStreamReader( client.getInputStream(), "UTF8")); out = new PrintWriter(client.getOutputStream(), true); sendMessage("--- Welcome ---"); sendMessage("Input your nickname:"); start(); } public void sendMessage(String msg) { out.println(msg); System.out.println(msg); } public void run() { try { int flag = 0; mThreadCounter++; String line = in.readLine(); while (line == null || !line.equals("bye")) { if (line == null) { // sendMessage("null"); line = in.readLine(); continue; } if (line.equals("l")) { sendMessage(listOnlineUsers()); line = in.readLine(); continue; } if (flag++ == 0) { username = line; mUserList.add(username); sendMessage(listOnlineUsers()); mThreader.add(this); pushMessage("[< " + username + " come on in >]"); } else { pushMessage("<" + username + ">" + line); } line = in.readLine(); } sendMessage("--- See you, bye! ---"); client.close(); } catch (IOException e) { } finally { try { client.close(); } catch (IOException e) { } mThreadCounter--; mThreader.remove(this); mUserList.remove(username); pushMessage("[< " + username + " left>]"); } } private String listOnlineUsers() { String s = "-+- Online list -+-1512"; for (int i = 0; i < mUserList.size(); i++) { s += "[" + mUserList.get(i) + "]1512"; } s += "-+---------------------+-"; return s; } private void pushMessage(String msg) { mMessageArray.addLast(msg); isClear = false; } } // --- Broadcast class Broadcast extends Thread { public Broadcast() { start(); } public void run() { while (true) { if (!isClear) { String tmp = mMessageArray.getFirst(); for (int i = 0; i < mThreader.size(); i++) { CreateServerThread client = (CreateServerThread) mThreader .get(i); client.sendMessage(tmp); } mMessageArray.removeFirst(); isClear = mMessageArray.size() > 0 ? false : true; } } } } }
客户端,发送消息
public class Client { private Socket socket; private BufferedReader in; private PrintWriter out; public Client(String domain, int port) { connect(domain, port); get(in); } private void connect(String domain, int port) { try { socket = new Socket(domain, port); in = new BufferedReader(new InputStreamReader( socket.getInputStream())); out = new PrintWriter(socket.getOutputStream(), true); } catch (UnknownHostException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } private void get(final BufferedReader in) { new Thread(new Runnable() { public void run() { try { String line = in.readLine(); while (true) { line = in.readLine(); } } catch (IOException e) { e.printStackTrace(); } } }).start(); } public void send(String msg) { out.println(msg); } public void disconnect() { try { out.close(); in.close(); socket.close(); } catch (IOException e) { e.printStackTrace(); } } }
发表评论
-
获取Android Device的信息
2013-12-26 15:47 1443String phoneInfo = "PROD ... -
看雪学院-Android安全
2013-11-25 09:40 942http://bbs.pediy.com/forumdispl ... -
Toast原来也可以多样化
2013-09-18 13:48 1163Style 1: 默认 Toast def = Toast ... -
Google Map API V2
2013-05-13 13:37 2156以后如果要开发包含google map的程序就更麻烦咯 htt ... -
用OpenGL实现无限循环的coverflow
2013-04-26 14:16 4781网上找了很久,都是用Gallery实现的,效果不是很满意,结果 ... -
如何集成支付宝官方文档
2013-02-08 11:24 4477官方文档下载地址 https://b.alipay.com/o ... -
[转帖]裁剪图片
2013-01-30 17:22 929原帖:http://www.linuxidc.com/Linu ... -
MonkeyRunner的使用
2013-01-29 13:06 9653要使用MonkeyRunner,就要 ... -
重复执行某段代码
2012-12-29 14:36 1562用handler就可以了 private Handler ... -
选择音频的输出方式
2012-12-12 15:00 1947可以选择用耳机还是扬声器播放(蓝牙的就留到下次吧),要求SDK ... -
使FrameLayout的Gravity等于Center
2012-12-06 16:42 1705由于无法设置FrameLayout的Gravity,所以只能通 ... -
在Android上模拟MetroUI
2012-10-31 15:49 2585在Android上模拟WP7的MetroUI MetroIt ... -
Uri.Builder与String互转
2012-08-14 15:56 2289Uri.Builder -> String Uri. ... -
判断屏幕尺寸
2012-07-17 10:21 1849// support from API 4 final ... -
自己封装的支持自动对焦的CameraView
2012-07-12 13:52 3595import java.io.BufferedOutp ... -
ADT 离线包下载地址
2012-07-06 14:32 1989更新ADT真是件苦恼的事啊 20.0.0的下载地址 http ... -
IP地址的获取及解析
2012-06-05 13:31 1245获取IP地址 WifiManager wifiManage ... -
判断网络是否有效
2012-05-28 17:32 942protected boolean isInternetA ... -
悬浮窗
2012-05-28 17:21 3037类似于360监视网络速度的那个悬浮窗 public cl ... -
自定义全屏Dialog
2012-04-20 13:16 4004关键在于设置Style <style nam ...
相关推荐
1、模块连接 连接开发板和WiFi模块,连接...串口无线 STA(COM-STA)模式,模块作为无线 WIFI STA,用于连接到无线网络,实现串口与其他设备之间的无线(WIFI)数据转换互传。该模式下,选择设置TCP 客户端子模式。
为提高煤矿安全生产程度及工作效率、降低煤矿工人劳动强度,研究将井下广泛使用的4G无线通信、WiFi、以太网传输、总线接入等设备集成为一台多网络覆盖的设备,依托通信网络,打造井下数据传输的开放式"高速公路",以解决...
之前写过PC与Android之间通过WIFI通信(通过Socket,可以在博客里面搜索),PC作为主机,Android作为客户机,现在手头有一台仪器通过wifi传输数据,如果仪器作为主机发射WIFI热点信号,Android需要连接到该热点才能...
分布式软总线实现近场设备间统一的分布式通信管理能力,提供不区分链路的设备间发现连接、组网和传输能力;提供基于Wifi、蓝牙等通信方式的设备发现连接能力。提供统一的设备组网和拓扑管理能力,为数据传输提供已...
(5)核心设备光载无线交换机还具有容量重构的功能,在不改变现有硬件设备的情况下,实现局部区域的通信容量增加; (6)便于开展综合业务和功能扩展,如提供停车场的车辆管理、客户的无线接入等其他增值业务; (7...
他的目的是为以开放或安全加密的方式提供符合标准的无线连接,应用于如工业设备、医疗电子系统、POS设备、传感器网络系统和计量设备,M2M通信和远程配置应用程序。 模块特色: 体积小巧,方便集成于手持设备中; ...
本项目是一个使用softAP实现多方聊天通讯的例子源码,首先把多部手机连接到一个局域网中,在一个手机上安装服务端,然后服务端会自动显示一个可访问的IP地址并等待客户端连接,在其他手机上安装客户端,输入服务端...
wifi无线通讯示例,微软提供。适用于wince手机,windowsmobile系统。语言为C#。
提出了一种基于矿井WiFi通信系统的混合定位方法,该方法分粗细两步进行定位:粗定位采用基于蜂窝小区标识的非测距定位方法,确定目标所在的小区范围;细定位采用基于接收信号强度的测距定位方法。该混合定位方法可以在不...
(2)安卓移动设备在连接上WIFI时可以通过安卓系统WIFI Manager类管理WIFI状态,获得设备的物理地址,通过这一物理地址作为与学生学号绑定的条件,解决学生代签漏签问题。 (3)开发出教师使用端,主要功能是释放...
android 通过wifi热点,p2p连接 ,实现局域网,多台设备局域网通信。
STM32处理器扩展了MP3、LCD触摸屏、SD卡、LED、按键、继电器等子模块,主要负责检测按键输入、生成/解析通信协议、读取存储文件数据、实现立体化报警、外部设备控制等工作,C8051F340处理器扩展了以太网通信子模块...
该系统的核心即应急救援软件平台通过中继网关、专用转换器等设备整合井下扩播电话机、小灵通、WiFi手机、调度电话机、井下广播系统,从而实现各通信系统间的互联互通;该系统通过应急救援软件平台实现与矿井人员定位...
ESP8266是一款超低功耗的UART-WiFi 透传模块,拥有业内极富竞争力的封装尺寸和超低能耗技术,专为移动设备和物联网应用设计,可将用户的物理设备连接到Wi-Fi 无线网络上,进行互联网或局域网通信,实现联网功能。...
GDI.EXE图形设备接口库,主要内容为与设备输出有关的函数。和串口通信有关系的函数 BuilidCommDCB、ClearCommBreak、SetCommBreak、FlushComm、GetCommError、 GetCommState、WriteComm、ReadComm、SetCommState、...
Android Wifi 局域网通信 TCP Client Sokect 客户端收发数据例程,连接别的设备的 socket 服务端后可以与之收发数据,实现通信
关于android基于局域网socket通信的完整demo,详细见https://blog.csdn.net/weixin_40998254/article/details/81163701
通过一个移动监护系统的具体实现,说明方案的有效性。 关键词 IEEE802.11b嵌入式WiFi TCP/IP 移动监护 目前,IEEE802.11无线局域网标准在语音通信、无线办公等领域广泛应用,但主要还是局限在PC机、笔记本电脑等通用...
设备加载了广域网通信 VPN 隧道、WIFI 局域网传输的安全认证等安全功能,实现无线局域网和无线广域网的无缝连接,为用户 提供高速、安全、可靠的移动宽带服务。 设备支持:广告 PORTAL 推送,支持多种认证方式(支持...
设计了一种基于嵌入式ARMLinux平台和WiFi通信的移动智能终端门禁系统,包括门禁装置和用户移动智能终端设备,其中门禁装置采用S3C6410处理器,并以嵌入式Linux为软件开发平台。移动智能终端设备则作为用户开门凭据,...