android socket用TCP方式,client端怎么监听服务器发送来的数据
来源:互联网 发布:破解版软件是什么意思 编辑:程序博客网 时间:2024/05/14 11:33
http://www.myexception.cn/android/1172505.html
请问一下android socket用TCP方式,Client端如何监听服务器发送来的数据?
我客户端的发送部分线程的代码如下:
Runnable SendThread = new Runnable() {
public void run() {
try {
//创建一个Socket对象,指定服务器端的IP地址和端口号
socket = new Socket("192.168.0.101",iPort);
//从Socket当中得到OutputStream
OutputStream outputStream = socket.getOutputStream();
byte buffer [] = new byte[1024];
outputStream.write(buffer, 0, 1);
Log.v(MainServerActivity.sTAG,"outputstream flush...");
outputStream.flush();
} catch (Exception e) {
// TODO Auto-generated catch block
Log.v(sTAG,"socket is new occur exception...");
e.printStackTrace();
}
}
};
服务器端收到Client的请求接收部分的代码如下:
ServerSocket serverSocket = null;
try {
//创建一个ServerSocket对象,并让这个Socket在4567端口监听
serverSocket = new ServerSocket(MainServerActivity.iPort);
while (!MainServerActivity.bStartShare) {
//调用ServerSocket的accept()方法,接受客户端所发送的请求
Socket socket = serverSocket.accept();
//从Socket当中得到InputStream对象
InputStream inputStream = socket.getInputStream();
//证明接收到请求开始下一次抓屏
ScreenShot();
//saveBitmap(mScreenBitmap);
OutputStream out = socket.getOutputStream();
if (mScreenBitmap.compress(Bitmap.CompressFormat.PNG, 70, out)) {
out.flush();
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
finally {
try {
Log.v(MainServerActivity.sTAG,"serverSocket close...");
serverSocket.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
那我的client如何去监听到服务器发给我的数据?请大家帮帮忙。
------解决方案--------------------------------------------------------
client不用监听,当连接建立后client直接接收服务器的数据就行了。参考http://bbs.csdn.net/topics/390316680
------解决方案--------------------------------------------------------
在客户端开启一个子线程,run()方法类似下面这样:
Public void ran() {
while(isRun) {
try {
if ((msg = bufferedReader.readLine()) != null) {
……
}
}catch (Exception e) {
e.printStackTrace();
}
}
}
在主线程中设置isRun的值,以便在适当的时候停止线程。
------解决方案--------------------------------------------------------
bufferedReader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
- android socket用TCP方式,client端怎么监听服务器发送来的数据
- socket通信,TCP协议,有多个客户端,服务器怎么向指定IP及端口的客户端发送数据!
- ThingWorx : 2、使用Java Tcp Client向服务器发送数据
- Android socket通过UDP的方式发送,接收数据
- 用socket来从服务器拿数据
- 关于socket应用:一个不断监听一个进程的服务器以及发送信息的客户端 TCP的三次握手和四次挥手
- TCP Client端的实现(仅发送)
- TCP方式的Socket
- socket 发送 TCP和UDP方式
- socket 发送 TCP和UDP方式
- Socket怎么在客户端一直监听Socket服务器的端口号
- Android Java端的Socket.io-client
- TCP的数据发送
- TCP-socket发送结构体类型数据
- java 网络 TCP客户端 发送数据 Socket
- 使用socket读取服务器发送的数据问题
- Android以后台Service的方式获取GPS数据,并定时发送到服务器
- Android使用HttpClient以Post、Get请求服务器发送数据的方式(普通和json)
- Android 使用ContentProvider 实现多个activity灵活显示,实现Intent隐式传值.
- 详解模块定义(.def)文件
- getRequestDispatcher()与sendRedirect()区别
- (Delphi)New,Getmem,ReallocMem联系与区别(转)
- 升级gcc g++编译器
- android socket用TCP方式,client端怎么监听服务器发送来的数据
- AWK 使用循环取出所有的字段
- 玩转抽象工厂模式
- 在android目录添加自己的项目工程
- 快速启动栏里的显示桌面不见了,桌面找出来
- 内核日志及printk结构浅析
- pgadmin 常用快捷键
- 10月18日总结
- 杨杰:来硅谷工作