基于Socket的Android与PC简单聊天应用的实现
2016-08-10 15:57
791 查看
实现Socket聊天其实质就是一个Socket的双向通信,分为服务端和客户端,都是 需要得到一个socket对象,通过socket获取流得到我们需要的数据。
标准的写法都是开启一个while(true)的线程不断的去监听接收消息,另外启一个线程去发送消息。为了方便演示效果这里写了一个Winform应用作为服务端。客户端和服务端的代码基本上完全相同。下面给出
android收发数据主要代码。
接收数据:
发送数据:
来看看效果吧:
android:
PC:
源码下载,点击这里
http://download.csdn.net/detail/mythace/9600070
标准的写法都是开启一个while(true)的线程不断的去监听接收消息,另外启一个线程去发送消息。为了方便演示效果这里写了一个Winform应用作为服务端。客户端和服务端的代码基本上完全相同。下面给出
android收发数据主要代码。
接收数据:
private class ReceiveThread extends Thread { private InputStream inStream = null; private byte[] buffer; private String str = null; ReceiveThread(Socket socket) { try { inStream = socket.getInputStream(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } @Override public void run() { while (true) { buffer = new byte[512]; try { inStream.read(buffer);//读流方式应该和发送一致 //(read、readUTF),否则阻塞 } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } try { str = new String(buffer, "UTF-8").trim(); } catch (UnsupportedEncodingException e) { // TODO Auto-generated catch block e.printStackTrace(); } if (buffer.length > 0) { Message msg = Message.obtain(); msg.obj = str; msg.what = MSG_REC; myHandler.sendMessage(msg);//将获取的数据发送出去 } } } }
发送数据:
Runnable sendThread = new Runnable() { @Override public void run() { // TODO Auto-generated method stub byte[] sendBuffer = null; try { sendBuffer = strMessage.getBytes("UTF-8"); } catch (UnsupportedEncodingException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } try { outStream = socket.getOutputStream(); Message msg = Message.obtain(); msg.obj = strMessage; msg.what = MSG_SEND; myHandler.sendMessage(msg); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } try { outStream.write(sendBuffer); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } };
来看看效果吧:
android:
PC:
源码下载,点击这里
http://download.csdn.net/detail/mythace/9600070
相关文章推荐
- 基于socket实现的简单聊天android软件
- 基于socket的android聊天工具简单实现
- Android基于socket实现的简单C/S聊天通信功能
- 使用android进行Socket通信实现多人聊天应用
- Android自学笔记(二)基于Socket实现Android与PC通信
- android Socket实现简单聊天功能以及文件传输
- Android 基于Socket的聊天应用(二)
- [Android通信]基于socket的聊天app(一):实现一对多通信
- android socket wifi 连接PC实现简单的PPT控制器
- android使用Socket通信实现多人聊天应用
- Android的抓包方法介绍和Socket聊天应用实现方法
- Android 基于Socket的聊天应用【转】http://www.cnblogs.com/-run/archive/2012/04/07/2434837.html
- 在android中用socket聊天的简单实现
- Android 基于Socket的聊天应用(二)
- [Android通信]基于socket的聊天app(四):实现一对一通信
- Android聊天工具基于socket实现
- [20180313智慧餐厅推荐系统02]基于python的socket编程代码,实现PC与服务器的简单通信
- 基于socket实现的简单的聊天程序
- Python基于Socket实现的简单聊天程序示例
- Android 基于Socket的聊天应用实例(二)