Android Socket通信
由于要和一些硬件设备对接,设备都是用的socket通信,用起来感觉没有websocket那么爽。
服务端我就不做介绍了。
如果服务端还没有完成的话大家可以找个工具模拟一下服务端,工具有很多,不过我也有用过sokit这个,但是中文乱码也改成了他要求的UTF8还是不行,所以就换了一个。
我用的是下面这个socketTool,看着比较简单,我模拟的端口是4097
接下来看下Android界面
看图就知道我测试成功了,不过socketTool这个工具不能发送中文给客户端,或者是我没发现,谁会可以告诉我一下,不过我试着从客户端发送中文给服务器没问题。
注意几点:
-
服务端的
这个勾不要勾选,工具默认给你勾选的。
-
如果出现和服务端交互出现乱码什么请尝试更换客户端编码格式
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地址:https://github.com/xiemeng99/SocketDemo
文中soket模拟工具:
链接:https://pan.baidu.com/s/1_juGmEcOzK5diT7rxAy2ow
提取码:xz8u