zzcserver

help person who was not with familiar socket build tcp server faster

License

License

GroupId

GroupId

cn.94zichao
ArtifactId

ArtifactId

server
Last Version

Last Version

1.0.2
Release Date

Release Date

Type

Type

jar
Description

Description

zzcserver
help person who was not with familiar socket build tcp server faster
Project URL

Project URL

https://github.com/mmx1960/zzc-server
Source Code Management

Source Code Management

https://github.com/mmx1960/zzc-server

Download server

How to add to project

<!-- https://jarcasting.com/artifacts/cn.94zichao/server/ -->
<dependency>
    <groupId>cn.94zichao</groupId>
    <artifactId>server</artifactId>
    <version>1.0.2</version>
</dependency>
// https://jarcasting.com/artifacts/cn.94zichao/server/
implementation 'cn.94zichao:server:1.0.2'
// https://jarcasting.com/artifacts/cn.94zichao/server/
implementation ("cn.94zichao:server:1.0.2")
'cn.94zichao:server:jar:1.0.2'
<dependency org="cn.94zichao" name="server" rev="1.0.2">
  <artifact name="server" type="jar" />
</dependency>
@Grapes(
@Grab(group='cn.94zichao', module='server', version='1.0.2')
)
libraryDependencies += "cn.94zichao" % "server" % "1.0.2"
[cn.94zichao/server "1.0.2"]

Dependencies

compile (3)

Group / Artifact Type Version
io.netty : netty-all jar 4.1.1.Final
org.apache.commons : commons-lang3 jar 3.4
org.slf4j : slf4j-api jar 1.7.25

provided (1)

Group / Artifact Type Version
org.springframework : spring-context jar 4.3.5.RELEASE

test (1)

Group / Artifact Type Version
junit : junit jar 4.12

Project Modules

There are no modules declared in this project.

ZZC-SERVER

基于netty的开源tcp服务器开发包

更新&&计划

更新计划

目的&&功能:

快速打造通信服务器,帮助用户快速开发出(游戏,硬件,聊天)服务器

特点:

  • 依赖少,基于netty和spring等基础库
  • 使用户将注意集中与业务开发,无需过多关注配置
  • 使用简便,无需懂网络编程和netty也可使用

环境依赖:

  • jdk1.7+
  • maven3.0以上版本

如何使用:

  • maven引入
        <!-- zzc-server -->
        <dependency>
            <groupId>cn.94zichao</groupId>
            <artifactId>server</artifactId>
            <version>1.0.0</version>
        </dependency>
  • 编写自己的业务处理类,标记@ZzcService注解
  • 业务类中编写对应的各种方法,默认参数为SocketModel
    @ZzcService("test")
    public class MyTestZzcService {
        public void test(SocketModel sk){
        sk.getData();
        }
    }
  • 在Spring自动扫描包后面配置服务启动类ZzcServer
 <context:component-scan base-package="com.youdomain.xx">
 </context:component-scan>
 <!-- 通信服务器启动类 -->
 <bean id="xxxxxx" class="cn._94zichao.server.bootstrap.ZzcServerBootstrap">
 </bean>

向客户端发送数据的方法:

  1. 构建SocketModel类,将channelId和字节数据置入
    SocketModel sk = new SocketModel();
    sk.setChannelId(xxxxx);
    sk.setData(xxxxx);
  1. 通过SocketModel获得执行类并执行
    ChannelExecutorFactory.getExecutor(sk).exec();

教程(未完成,先填个坑):

  1. 与spring集成的demo
  2. 与spring boot集成的demo
  3. 一个简单的聊天服务器

文档(坑先占好):

缺陷(待完善部分):

  1. 项目启动时为了配合公司产品的快速开发,写死了端口、防止粘包拆包的分隔符、eventloop线程数量,后期这些都要可配置化。
  2. 未集成日志。
  3. 缺少其他防粘包策略,后面提供。
  4. 其他高级API
  5. 待补充。。。。。。

Versions

Version
1.0.2
1.0.0