Skip to content

Commit 78c66f9

Browse files
author
Deng
committed
release 1.3.0
1 parent 7a2f01e commit 78c66f9

3 files changed

Lines changed: 31 additions & 11 deletions

File tree

README.md

Lines changed: 28 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -17,16 +17,16 @@ Step 2. Add the dependency in the form
1717

1818
```gradle
1919
dependencies {
20-
compile 'com.github.vilyever:AndroidSocketClient:1.2.5'
20+
compile 'com.github.vilyever:AndroidSocketClient:1.3.0'
2121
}
2222
```
2323

24-
## Notice
25-
使用SocketClient接收消息时,是通过readLine的方式进行,即每一条消息为一行,故远程端发送的消息需在末尾加上换行符 '\n '或 '\r\n'
24+
## Updates
25+
* 1.3.0
26+
修改消息收发机制
2627
</br>
27-
使用SocketClient和SocketServer发送的String消息会自动在末尾添加 '\r\n' 换行符
28-
</br>
29-
1.2.5版本后可以选择是否使用readLine读取消息,SocketClient.setSupportReadLine(),默认不使用;
28+
接收消息回调参数由String改为SocketResponsePacket,提供byte[]数据
29+
获取String消息调用SocketResponsePacket.getMessage()实时获取
3030

3131
## Usage
3232
```java
@@ -35,7 +35,9 @@ SocketClient socketClient = new SocketClient("192.168.1.1", 80);
3535
socketClient.registerSocketDelegate(new SocketClient.SocketDelegate() {
3636
@Override
3737
public void onConnected(SocketClient client) {
38-
38+
socketClient.send("message"); // 发送String消息,使用默认编码
39+
socketClient.send("message", "GBK"); // 发送String消息,使用GBK编码
40+
socketClient.send("message".getBytes()); // 发送byte[]消息
3941
}
4042

4143
@Override
@@ -44,12 +46,29 @@ socketClient.registerSocketDelegate(new SocketClient.SocketDelegate() {
4446
}
4547

4648
@Override
47-
public void onResponse(SocketClient client, @NonNull String response) {
49+
public void onResponse(SocketClient client, @NonNull SocketResponsePacket responsePacket) {
4850

4951
}
5052
});
5153

52-
socketClient.connect();
54+
socketClient.setConnectionTimeout(1000 * 15); // 设置连接超时时长
55+
56+
socketClient.setHeartBeatInterval(1000 * 30); // 设置心跳包发送间隔
57+
58+
socketClient.setRemoteNoReplyAliveTimeout(1000 * 60); // 设置远程端在多长时间没有消息发送到本地时自动断开连接
59+
60+
socketClient.registerQueryResponse("query", "response"); // 设置自动应答键值对,即收到"query"时自动发送"response"
61+
62+
socketClient.setSupportReadLine(false); // 设置是否支持对每条消息添加换行符分割,默认为true
63+
64+
socketClient.setCharsetName("UTF-8"); // 设置发送String消息的默认编码
65+
66+
socketClient.connect(); // 连接,异步进行
67+
68+
socketClient.disconnect(); // 断开连接
69+
70+
socketClient.getState(); // 获取当前状态,Connecting, Connected, Disconnected
71+
5372
```
5473

5574
## License

socketclient/build_library_ext.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
ext {
22
buildVersionName = {
3-
"1.2.5"
3+
"1.3.0"
44
}
55

66
/**

socketclient/src/main/java/com/vilyever/socketclient/SocketClient.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,8 @@ public void disconnect() {
6565
return;
6666
}
6767

68-
if (!getRunningSocket().isClosed()) {
68+
if (!getRunningSocket().isClosed()
69+
|| isConnecting()) {
6970
try {
7071
getRunningSocket().getOutputStream().close();
7172
getRunningSocket().getInputStream().close();

0 commit comments

Comments
 (0)