`
weizhai12
  • 浏览: 145157 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

Android中Socket通讯类

 
阅读更多
public class SocketClient
{
public boolean mClientFlag = false;
private static Socket client;


public SocketClient()
{
Log.d("WineStock", "WineStock SocketClient()");
client = new Socket();
}


public SocketClient(String HostName, int iPort)
{
client=new Socket();
SocketAddress socketAddress = new InetSocketAddress(HostName, iPort);
try
{
Log.d("WineStock", "WineStock SocketClient connect");
client.connect(socketAddress, 3000);
}
catch (IOException e) {
// TODO Auto-generated catch block
Log.d("WineStock", "WineStock SocketClient IOException");

} catch (IllegalArgumentException e1) {
// TODO: handle exception
Log.d("WineStock", "WineStock SocketClient IllegalArgumentException ");

}

return ;
}

public boolean SocketConnect(String HostName, int iPort)
{

SocketAddress socketAddress = new InetSocketAddress(HostName, iPort);
try
{
Log.d("WineStock", "WineStock SocketConnect connect ");

client.connect(socketAddress, 3000);
}
catch (IOException e) {
// TODO Auto-generated catch block
Log.d("WineStock", "WineStock SocketConnect IOException ");

} catch (IllegalArgumentException e1) {
// TODO: handle exception
Log.d("WineStock", "WineStock SocketConnect IllegalArgumentException ");

}

return true;
}

public void SocketClose()
{
try {
client.close();
} catch (IOException e) {
// TODO Auto-generated catch block
Log.d("WineStock", "socket close error"+e.getMessage());
}

}

// 建立连接
public static boolean SClient(SocketSendModel SendModel) throws UnknownHostException, IOException
{
boolean bRet = false;
try
{
if(client.isConnected())

{

//发送请求

sendMessage(SendModel);
bRet = true;
}
}
catch (UnknownHostException e)
{
Log.d("WineStock", "socket SClienterror"+e.getMessage());
}
catch (IOException e1)
{
Log.d("WineStock", "socket SClienterror"+e.getMessage());
}

return bRet;


}
// 发送请求
private static void sendMessage(SocketSendModel model) throws IOException
{
//boolean bRet = false;
try
{
PrintWriter out = new PrintWriter(client.getOutputStream());
out.print(objToJsonString(model).replace("\n", " "));
out.flush();
//bRet = true;
}
catch (IOException e)
{

}

return;
}


// 接收服务器数据
public static String readMessage() throws IOException
{
String str = "";
try
{
BufferedReader br = new BufferedReader(new InputStreamReader(client.getInputStream()));
str = br.readLine().replace("{", "").replace("}", "").replace("\"", "");
}
catch ( IOException e)
{

}

return str;

}
// 将Java Object对象转换为Json对象
private static String objToJsonString(Object obj) {
// 初始化返回值
String json = "str_empty";
if (obj == null) {
return json;
}
StringBuilder buff = new StringBuilder();
Field fields[] = obj.getClass().getFields();
try {
buff.append("[");
buff.append("{");
int i = 0;
for (Field field : fields) {
if (i != 0) {
buff.append(",");
}
buff.append(field.getName());
buff.append(":");
buff.append("\"");
buff.append(field.get(obj) == null ? "" : field.get(obj));
buff.append("\"");
i++;
}
buff.append("}");
buff.append("]");
json = buff.toString();
} catch (Exception e) {
throw new RuntimeException("cause:" + e.toString());
}
return json;

}

}


分享到:
评论

相关推荐

    androidstudio实现socket通讯

    Android通过socket套接字实现网络连接,通过ip地址和ip端口实现访问服务器,从而实现客户端和服务器的连接,然后实现两者数据的互连

    Android安卓源码-串口&Socket通讯类源代码(5例).zip

    Android安卓源码-串口&Socket通讯类源代码(5例),仅供开发及学习设计参考。

    android TCP通讯源码

    实现android与PC机双向通信 socket类

    android socket网络通信编程实例

    在JAVA编程中, 包来开发socket程序,下面列出所有常用的类,并简单介绍。再此说明一下:Socket仅仅是对TCP、UDP网络接口的封装,不涉及上层协议。    .Socket 客户端连接使用的TCP socket  .DatagramSocket ...

    android手机做socket服务器,多手机进行通信

    则需把ServerSocketUi类中的wifi_ip;强制改为作为服务器端的ip;无需点击“先去管理服务”,即可“前去会话” 补充:作为服务器端,你可以直接获取本机的服务器ip; 作为客户端(别人连接的时候),在前去会话页面...

    android调用自己写的fins基础类使用欧姆龙plc通讯

    上一个资源传了自己写的fins基础类,这个方法则是实现在android中对fins的调用、参数的封装、转化,对返回值的处理和解析

    Android应用源码安卓源码(172个合集).zip

    android在wifi下手机与电脑的socket通信.rar android多线程断点下载.rar Android手机一键Root原理分析.zip Android手机的VoIP客户端 Sipdroid.rar Android有未接来电后处理(判断未接来电).rar Android模仿乐淘的应用...

    安卓实现TCP通信demo含Java服务端客户端实现

    比较完整的java TCP套件字通信实现demo,类的封装比较好,可以很方便接入到自己的项目中。

    新版Android开发教程.rar

    Borqs 播思通讯 联盟目的 将会支持 Google 可能发布的手机操作系统或者应用软件,共同开发名为 Android 的开放源代码的移动 系 统。 谷歌早在 2002 年就进入了移动领域,可是由于目前的手机操作系统企业和手机企业...

    android udp通讯

    通讯类app聊天时用到,udp传输方式。区别于tvp.此方式对服务器压力小

    android源码包集合4

    基于socket通讯的文件续传!.rar 基于股票的一个Android应用(内含源码) .rar 多点缩放字体DEMO .rar 多种控件多种实现方式Demo.rar 多级PopupWindow的小demo.zip 带手势划动功能的日历源码.rar 抖动窗口.rar 换肤....

    安卓实验报告(聊天室应用)

    实验三 基于Android的聊天网络应用 安卓开发实验及其报告(基于Android的聊天网络应用) 懂你所懂,有你所求,这是安卓实验报告,...2、了解及掌握Android+Socket即时通讯应用技术。 3、对安卓开发流程有深入的了解。

    易安卓E4A多线程大数据网络通讯TCP b1.4

    易安卓E4A多线程大数据网络通讯TCP b1.4 支持大数据文件、图片、直接发送,支持双向,无需要用户分包组包,模块库自动智能处理,目前此模块是E4A唯一最强大通讯模块,也是安卓,JAVA中最强大通讯模块之一!

    谈谈Android的三种网络通信方式

    Android平台有三种网络接口可以使用,他们分别是:java.net.*(标准Java接口)、Org.apache接口和Android.net.*(Android网络接口)。...这些在Java网络编程中均有涉及,我们看一个简单的socket编程,实现服务器回发客

    安卓android课程设计报告.docx

    访问硬件的API库函数通讯接口 安卓android课程设计报告全文共5页,当前为第3页。HTTP 协议:有多种接口可以调用你可以用Java类库封装的HttpConnection 或者用Apach的开源项目的 HttpGet 或者HttpPost ,服务器端 ...

    Android手机开发(三)

    Rild是Init进程启动的一个本地服务,这个本地服务并没有使用Binder之类的通讯手段,而是采用了socket通讯这种方式。RIL(RadioInterfaceLayer)Android给出了一个ril实现框架。由于Android开发者使用的Modem是不一样的...

    Android蓝牙通信聊天实现发送和接受功能

    首先创建线程 实际上就是创建BluetoothChatService() (蓝牙聊天服务类) 这个时候把handler 传过去 这样就可以操作UI 界面了,在线程中不断轮询读取蓝牙消息,当主界面点击发送按钮时 调用BluetoothChatService 的...

    安卓android课程设计分析报告.doc

    4 Sokcet:就是服务器端不断监听双方约定好的端口号,客户端通过服务器IP去请求 连接,连接成功后,得到Socket的输入输出流,直接操作即可。 4) 系统功能需求 天气信息显示和获取 功能描述:需有一个显示天气情况的...

    即时通讯IM系统(H5+安卓+IOS)客户端 支持红包转账 朋友圈 附视频教程_大小434M.rar

    即时通讯IM系统(H5+安卓+IOS...getWanWork作socket服务(socket 数据交互方式是二进制数据格式)。 redis缓存,特定模块用sqllite缓存模块数据。 mysql、mongodb 数据库。 JWT进行用户验证。 使用 http 进行发送文件

Global site tag (gtag.js) - Google Analytics