网页
资讯
视频
图片
知道
文库
贴吧
地图
采购
进入贴吧
全吧搜索
吧内搜索
搜贴
搜人
进吧
搜标签
日
一
二
三
四
五
六
签到排名:今日本吧第
个签到,
本吧因你更精彩,明天继续来努力!
本吧签到人数:0
一键签到
可签
7
级以上的吧
50
个
一键签到
本月漏签
0
次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行
补签
。
连续签到:
天 累计签到:
天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
07月01日
漏签
0
天
java吧
关注:
1,267,106
贴子:
12,770,464
看贴
图片
吧主推荐
视频
游戏
1
2
3
4
5
6
下一页
尾页
177
回复贴,共
6
页
,跳到
页
确定
<返回java吧
>0< 加载中...
直播写聊天服务器,让我看看有几个小宝贝愿意看的?
只看楼主
收藏
回复
肥猴丶
淼淼淼
9
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
偏于服务器后端,
涉及到的技术点有
Gradle(类似maven,但是语法跟功能更加强大的依赖管理工具)
Netty (我说不好,牛逼就行了),
Protobuff (谷歌的序列化框架,在序列化与反序列化、数据压缩体积、拓展方面都不错的框架),
spring-boot(主要是用来解耦的),
websocket(即时通讯技术)
有兴趣后面可以加什么web-RTC啊,ffmpeg推流啊。总之想怎么玩都可以了。
然后一点点的ES6语法(毕竟要写点前端,奈何本人太菜)
送TA礼物
IP属地:安徽
1楼
2021-05-25 08:56
回复
肥猴丶
淼淼淼
9
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
好了,新建项目,包含了几个模块,
chat是聊天的部分,
proto是数据传输协议的部分
socket是通信的部分,
state是用状态机来做指令的处理,状态变更等功能。
IP属地:安徽
2楼
2021-05-25 09:10
回复
收起回复
2025-07-01 07:24:50
广告
烟云涧琴声长
淼淼淼沝
11
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
继续 搬好小板凳了
IP属地:浙江
3楼
2021-05-25 09:13
回复
收起回复
肥猴丶
淼淼淼
9
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
先准备一下依赖包。
即parent的gradle配置。
如图:
build.gradle约束了一些基础配置项,如仓库来源,配置。
然后在config.gradle中添加所需的依赖包与版本。
IP属地:安徽
4楼
2021-05-25 09:20
回复(20)
收起回复
谷雨念安
淼淼淼
9
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
可以啊
IP属地:浙江
5楼
2021-05-25 09:28
回复
收起回复
肥猴丶
淼淼淼
9
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
先写协议的部分。
如图: moneky-proto中添加protobuf的相关配置,以及protobuf的依赖。
在main目录下新建一个proto的文件夹存储我们的协议文件。
图二是我自定义的一个消息包。
ResultMsg是结果。
Package是一个消息包,可以是请求包,也可以是响应包。
再解释一下消息包里的各个属性含义,
resultMsg(上面说了)
cmdType(指令类型)
content(内容的二进制)。
PackageGroup是多个消息包,你可以理解成网络协议里的封包的概念,即多个消息包整合一次传输。
IP属地:安徽
6楼
2021-05-25 09:29
回复(1)
收起回复
肥猴丶
淼淼淼
9
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
然后基于这个数据包写一些简单的指令封装类:
说一下习惯,工具类的构造方法要私有。 其他没了=。=
IP属地:安徽
7楼
2021-05-25 09:43
回复(1)
收起回复
图南66
淼淼淼
9
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
快更
IP属地:福建
8楼
2021-05-25 09:53
回复
收起回复
2025-07-01 07:18:50
广告
假笑从容
淼淼
6
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
大佬 请问您知道海康摄像头的视频流怎么推吗
IP属地:云南
9楼
2021-05-25 09:55
回复(7)
收起回复
溜溜溜
球
淼水
4
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
加油,整
IP属地:上海
来自
Android客户端
10楼
2021-05-25 10:22
回复
收起回复
肥猴丶
淼淼淼
9
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
大家写服务器的时候基本就这几个功能,
如下:
服务启动类:NettyServer
协议解码类:ProtoWebSockerHandler
过滤器:Filter
请求发送类:Dispatcher
Session。
这是请求解码的处理,稍微注意的就是,该解码类继承自SimpleChannelInboundHandler。
该类是通过channelRead的方法调用channelRead0的,channleRead在调用该方法后会释放ctx里的内存,所以我们这里获取数据包的时候,需要拷贝出来,如果直接读取的话,会导致ByteBuf里的index发生偏移,然后释放的时候会出现异常。啊。。。这个有兴趣自己去看源码啊~
Session的实现类。
NettyServer这个类里面的代码,也差不多这些,定义包大小啊,什么boss, worker啥的。
初学的话不建议深究啊~网上找个抄一下就可以了。 记得添加自己写的解码器。
IP属地:安徽
11楼
2021-05-25 10:28
回复(1)
收起回复
肥猴丶
淼淼淼
9
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
可把老夫累得,掐会腰。
IP属地:安徽
12楼
2021-05-25 10:32
回复
收起回复
肥猴丶
淼淼淼
9
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
接下来,到重点了。开整开整!!!先问问,有谁了解过状态机么?
虽然聊天室不需要状态机这个,但是通过状态机,这个服务器还可以用来做回合制游戏,还可以兼容聊天室的功能
IP属地:安徽
14楼
2021-05-25 10:42
回复(7)
收起回复
想要和你更好
水
1
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
膜拜大佬,学习学习
IP属地:河北
来自
Android客户端
15楼
2021-05-25 10:44
回复
收起回复
登录百度账号
扫二维码下载贴吧客户端
下载贴吧APP
看高清直播、视频!
贴吧热议榜
1
MSI八强已全部诞生
2140440
2
哪吒2密钥延期四次终于下映
1956456
3
AG实力断层零封DRG
1769796
4
索尼官方力荐2025必玩的10款游戏
1326780
5
范·迪塞尔还在消费保罗沃克
1074918
6
弓箭手近战到底什么水平
811300
7
中华田园犬一觉醒来成禁养犬了
756384
8
原来空调是最好的招生宣传
726087
9
妮姬国服尼尔联动即将上线
565048
10
印度因强降雨向巴基斯坦泄洪
479493
贴吧页面意见反馈
违规贴吧举报反馈通道
贴吧违规信息处理公示