@@ -42,7 +42,8 @@ clientIds:
42
42
- user2
43
43
44
44
```
45
- (注1:作为快速演示,这里的type选择了最简单的post类型,此场景下最佳性能的协议为websocket,如需使用请参考:[ websocket代理内网端口] )
45
+ (注1:作为快速演示,这里的type选择了最简单的post类型,此场景下最佳性能的协议为websocket,或是有独立端口的话可以配置hppt协议,ws、hppt版的说明奋力码字中。。)
46
+
46
47
(注2:实际应用中,为了确保安全,建议把clientId设置得更复杂一些)
47
48
48
49
执行如下命令运行服务端的hppt
90
91
# 人为设置的延迟(毫秒),一般填0即可,如果传文件等数据量大、延迟要求低的场景,可以设一个几百毫秒的延迟来降低post请求发送频率
91
92
sendSleepTime : 0
92
93
forwards :
93
- # 把192.168.0.2的22端口代理到本机的10022端口
94
+ # 把192.168.0.2的22端口代理到本机的10022端口
94
95
- localPort : 10022
95
96
remoteHost : " 192.168.0.2"
96
97
remotePort : 22
@@ -140,7 +141,7 @@ rhppt:
140
141
port : 20871
141
142
142
143
forwards :
143
- # 把192.168.0.2的22端口代理到本机的10022端口
144
+ # 把192.168.0.2的22端口代理到本机的10022端口
144
145
- localPort : 10022
145
146
remoteHost : " 192.168.0.2"
146
147
remotePort : 22
@@ -203,13 +204,14 @@ cd hppt
203
204
204
205
首先clone本项目到本地,然后` mvn clean install ` 把本项目安装到maven。
205
206
206
- 然后新建一个java工程,引入maven依赖
207
+ 然后新建一个java工程,引入hppt-run以及kafka等maven依赖
207
208
``` xml
208
209
<dependency >
209
210
<groupId >org.wowtools.hppt</groupId >
210
211
<artifactId >run</artifactId >
211
212
<version >1.0-SNAPSHOT</version >
212
213
</dependency >
214
+ <!-- 继续添加其他依赖-->
213
215
```
214
216
然后就可以编写代码了:
215
217
@@ -223,24 +225,20 @@ public class ServerDemo extends ServerSessionService<T> {
223
225
224
226
// 初始化时需要做什么
225
227
public void init (SsConfig ssConfig ) throws Exception {
226
-
227
228
}
228
229
229
230
// 怎样发送字节到客户端
230
231
protected void sendBytesToClient (T ctx , byte [] bytes ) {
231
-
232
232
}
233
233
234
234
// 收到客户端的字节时,主动去调用receiveClientBytes(CTX ctx, byte[] bytes)
235
235
236
236
// 当客户端断开时需要做什么
237
237
protected void closeCtx (T ctx ) throws Exception {
238
-
239
238
}
240
239
241
240
// 当本服务端关闭后,在此释放掉连接池等资源
242
241
protected void doClose () throws Exception {
243
-
244
242
}
245
243
}
246
244
```
@@ -256,12 +254,10 @@ public class ClientDemo extends ClientSessionService {
256
254
257
255
// 怎样连接到服务端
258
256
protected void connectToServer (ScConfig config , Cb cb ) throws Exception {
259
-
260
257
}
261
258
262
259
// 怎样发送字节到服务端
263
260
protected void sendBytesToServer (byte [] bytes ) {
264
-
265
261
}
266
262
267
263
// 收到客户端的字节时,主动去调用receiveServerBytes(byte[] bytes)
@@ -275,7 +271,7 @@ public class ClientDemo extends ClientSessionService {
275
271
276
272
## 性能如何?
277
273
278
- 使用hppt或websocket等长连接协议的话,本项目只是做了个转发和加解密等操作,性能损耗在%5以内 ,以下是示例2中scp命令拷贝一个186m的文件,连接原始端口和代理端口的耗时对比:
274
+ 使用hppt或websocket等长连接协议的话,本项目只是做了个转发和加解密等操作,性能损耗在5%以内 ,以下是示例2中scp命令拷贝一个186m的文件,连接原始端口和代理端口的耗时对比:
279
275
280
276
``` shell
281
277
# 直连
0 commit comments