Skip to content

Commit 6bc7949

Browse files
authored
Create README.md
1 parent 72c85b8 commit 6bc7949

File tree

1 file changed

+120
-0
lines changed

1 file changed

+120
-0
lines changed

README.md

Lines changed: 120 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,120 @@
1+
#TcpSocketLib
2+
3+
在Android开发中,经常会需要由服务端主动推送一些消息给客户端,最常见的做法就是用Tcp Socket保持长链接。为了简化这个过程,做了一个简单的依赖库来实现TCP Socket的client功能。
4+
5+
# Doc
6+
## 引入依赖
7+
Step 1.先配置你的project的build.gradle
8+
9+
```
10+
allprojects {
11+
repositories {
12+
···
13+
maven { url 'https://jitpack.io' }
14+
···
15+
}
16+
}
17+
```
18+
Step 2.为你的项目添加依赖
19+
```
20+
dependencies {
21+
···
22+
implementation 'com.github.lp0int:TcpSocketLib:1.0'
23+
···
24+
}
25+
```
26+
## 开始使用
27+
```
28+
TcpClient tcpClient = new TcpClient(serverIp, serverPort);
29+
tcpClient.startConn();
30+
```
31+
以上代码就是创建一个TCP连接最简单的代码了,创建一个TcpClient的实例,然后startConn(),就完成啦最简单的Tcp连接啦。Of course,这是不够的。所以提供了一些方法来实现更丰满的功能。
32+
33+
## API
34+
### 监听Socket的各个状态以及消息的接受
35+
这里提供了一个简单的listener类,来负责监听Tcp的各个状态
36+
```
37+
TcpSocketListener tcpSocketListener = new TcpSocketListener() {
38+
/**
39+
* 发起TCP连接时报出的异常
40+
*/
41+
@Override
42+
public void onConnException(Exception e) {}
43+
44+
/**
45+
* 当TCP通道收到消息时执行此回调
46+
*/
47+
@Override
48+
public void onMessage(String s) {}
49+
50+
/**
51+
* 当TCP消息监听时遇到异常,从这里抛出
52+
*/
53+
@Override
54+
public void onListenerException(Exception e) {}
55+
56+
/**
57+
* 当sendMsg()方法成功执行完毕后,执行此方法
58+
*/
59+
@Override
60+
public void onSendMsgSuccess(String s) {}
61+
62+
/**
63+
* 发送消息时遇到异常,从这里抛出
64+
*/
65+
@Override
66+
public void onSendMsgException(Exception e) {}
67+
68+
/**
69+
* 当TCP连接断开时遇到异常,从这里抛出
70+
*/
71+
@Override
72+
public void onCloseException(Exception e) {}
73+
};
74+
tcpClient.setTcpSocketListener(tcpSocketListener)
75+
```
76+
就是这样,通过setTcpSocketListener()方法,添加一个监听,就可以很方便的完成socket通讯了。**要注意的是,这些方法是异步执行的,可能会引发线程问题需要自己去处理**
77+
78+
### 发送消息
79+
```
80+
tcpClient.sendMsg(final String msg)
81+
```
82+
83+
### 关闭连接
84+
```
85+
tcpClient.closeTcpSocket()
86+
```
87+
88+
这里提供了链接断开(不管异常还是主动)后,自动重连的方法
89+
### 设置是否需要断开后重新连接
90+
```
91+
tcpClient.setNeedReConn(boolean needReConn)
92+
```
93+
94+
### 设置socket断开后重新连接间隔时间 单位 秒
95+
```
96+
tcpClient.setReConnTime(int reConnTime)
97+
```
98+
99+
### 设置socket接收字符的格式,默认"utf-8",非特殊需要不用修改
100+
```
101+
tcpClient.setCharsetName(String charsetName)
102+
```
103+
104+
### 设置soTimeOut,默认为0,不建议修改
105+
```
106+
tcpClient.setSoTimeOut(int soTimeOut)
107+
```
108+
109+
### 设置连接的socket服务器IP
110+
```
111+
tcpClient.setServerIP(String serverIP)
112+
```
113+
114+
### 设置连接的socket服务端口
115+
```
116+
tcpClient.setServerPort(int serverPort)
117+
```
118+
119+
120+
>gayhub地址:https://github.com/lp0int/TcpSocketLib </br>自用lib,欢迎提交Issues和star

0 commit comments

Comments
 (0)