# TcpClient
**Repository Path**: lixiang2114/TcpClient
## Basic Information
- **Project Name**: TcpClient
- **Description**: No description available
- **Primary Language**: Java
- **License**: Apache-2.0
- **Default Branch**: main
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2021-05-13
- **Last Updated**: 2021-05-13
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
### 开发背景
TcpClient是一款基于JAVA的NIO框架Netty4.1设计的嵌入式TCP客户端,可以无缝嵌入JAVA应用程序中。此工件中并没有集成对HTTP协议的支持,这是因为对HTTP协议支持的组件非常多,如HttpClient、OkHttp、Spring框架的RestTemplate等,我们本着不重复造轮子的思想,在本工件中摒弃了对HTTP协议的支持,如果你认为有支持HTTP协议的必要,那么可以在此工件基础上来完成二次开发即可。
### 功能特性
仅支持ISO四层TCP协议,不支持七层HTTP协议,所以功能基于异步事件驱动和IO多路复用机制完成客户端连接和请求响应处理过程。
### 安装部署
mkdir -p $MVN_HOME/repository/com/github/lixiang2114/netty/TcpClient/2.0/
wget https://github.com/lixiang2114/TcpClient/raw/main/target/TcpClient-2.0.jar -P $MVN_HOME/repository/com/github/lixiang2114/netty/TcpClient/2.0/
wget https://github.com/lixiang2114/TcpClient/raw/main/target/TcpClient-2.0-sources.jar -P $MVN_HOME/repository/com/github/lixiang2114/netty/TcpClient/2.0/
### 工程应用
1. 引用依赖
```Xml
io.netty
netty-all
4.1.63.Final
provided
com.github.lixiang2114.netty
TcpClient
2.0
```
2. 应用范例
```JAVA
package com.wa.bfw.server.test;
import com.github.lixiang2114.netty.HttpServer;
import com.github.lixiang2114.netty.context.ServerConfig;
import com.wa.bfw.server.test.servlet.UserServlet;
public class TestMain {
public static void main(String[] args) throws Exception {
TcpClient tcpClient=new TcpClient("localhost",1567);
tcpClient.connect();
System.out.println(tcpClient.getMessage());
}
}
```
#### 说明:
1. 本工件只能连接TCP服务端,不能用于连接HTTP服务端。
2. TcpClient的getMessage方法用于阻塞同步获取TCP服务端响应回来的数据,若需要异步获取数据则可以调动重载的getMessage(int msgNum)方法。