Android Socket通信

由于要和一些硬件设备对接,设备都是用的socket通信,用起来感觉没有websocket那么方便。

服务端我就不做介绍了。

首先要注意的是,Android的socket一定要再子线程

如果服务端还没有完成的话大家可以找个工具模拟一下服务端,工具有很多,不过我也有用过sokit这个,但是中文乱码也改成了他要求的UTF8还是不行,所以就换了一个。

我用的是下面这个socketTool,看着比较简单,我模拟的端口是4097

接下来看下Android界面

看图就知道我测试成功了,不过socketTool这个工具不能发送中文给客户端,或者是我没发现,谁会可以告诉我一下,不过我试着从客户端发送中文给服务器没问题。

注意几点:

  1. 服务端的这个勾不要勾选,工具默认给你勾选的。

  2. 如果出现和服务端交互出现乱码什么请尝试更换客户端编码格式

    private final String code = "GBK";
    char[] bt = new char[16];
    final StringBuilder reqStr = new StringBuilder();
    do {
    if ((in.read(bt)) != -1) {
    reqStr.append(bt);
    }
    } while (in.ready());

    还有就是接收消息的方式了,如果接收不到就换一个吧

demo地址:GitHub - xiemeng99/SocketDemo: Android socket通信

文中socket模拟工具:

链接:https://pan.baidu.com/s/1_juGmEcOzK5diT7rxAy2ow 
提取码:xz8u 
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值