Step 1. Add the JitPack repository to your build file
Add it in your root settings.gradle at the end of repositories:
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
mavenCentral()
maven { url 'https://jitpack.io' }
}
}
Add it in your settings.gradle.kts at the end of repositories:
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
mavenCentral()
maven { url = uri("https://jitpack.io") }
}
}
Add to pom.xml
<repositories>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
</repositories>
Add it in your build.sbt at the end of resolvers:
resolvers += "jitpack" at "https://jitpack.io"
Add it in your project.clj at the end of repositories:
:repositories [["jitpack" "https://jitpack.io"]]
Step 2. Add the dependency
dependencies {
implementation 'com.github.sebasira:tcp-spring-boot-starter:1.11'
}
dependencies {
implementation("com.github.sebasira:tcp-spring-boot-starter:1.11")
}
<dependency>
<groupId>com.github.sebasira</groupId>
<artifactId>tcp-spring-boot-starter</artifactId>
<version>1.11</version>
</dependency>
libraryDependencies += "com.github.sebasira" % "tcp-spring-boot-starter" % "1.11"
:dependencies [[com.github.sebasira/tcp-spring-boot-starter "1.11"]]
tcp-spring-boot-starter - Spring Boot библиотека, которая позволяет быстро разворачивать TCP-сервера. Включает в себя:
Контроллер может содержать три типа методов:
import javagrinko.spring.tcp.Connection;
import javagrinko.spring.tcp.TcpController;
@TcpController
public class EchoController {
public void receiveData(Connection connection, byte[] data) {
String s = new String(data);
connection.send(s.toUpperCase().getBytes());
}
public void connect(Connection connection) {
System.out.println("New connection " + connection.getAddress().getCanonicalHostName());
}
public void disconnect(Connection connection) {
System.out.println("Disconnect " + connection.getAddress().getCanonicalHostName());
}
}
application.properties:
javagrinko.tcp-server.port = 20502
javagrinko.tcp-server.auto-start = true
1) Необходимо добавить зависимость в build.gradle:
repositories {
maven {
url "http://jcenter.bintray.com"
}
}
dependencies {
compile 'javagrinko:tcp-spring-boot-starter:1.10'
...
}
2) в файле src/main/resources/application.properties задать настройки сервера:
#Порт сервера
javagrinko.tcp-server.port = 20502
#Автостарт сервера после загрузки application context
javagrinko.tcp-server.auto-start = true
Если автостарт не задан или установлено значение false, то необходимо вручную запустить сервер из кода:
@Component
public class Starter {
@Autowired
ServerUtils serverUtils;
@PostConstruct
void setUp(){
Server server = serverUtils.getServer();
server.setPort(20502);
server.start();
}
}