gxh_1995 Gate对外开的TCP吧,内网协议也改成TCP了吗?
IxbxAx 内网还是kcp
gxh_1995 不是协议不同就要被丢弃, 能被丢弃的原因是数据包没法正常解析出来, 不管什么协议发送的, 只要数据包能被正常解析,那就不会被丢弃
evalli 啊? 协议不同会被丢弃呀。在传输层解析网络包是协议不同就不会处理这个网络包了,上层都没有处理包的机会
IxbxAx
我有修改过的,对外开放连接是tcp
gxh_1995 NetInnerComponent负责内网通信的
gxh_1995 Gate对外监听TCP端口,去处理玩家的连接。然后会把消息转发到其他进程。各个游戏进程监听了UDP端口去处理其他进程的内网连接。比如client=>gate=>map。有一步转发的过程,比如7.2 NetServerComponentOnRead那块儿代码。
IxbxAx 【然后会把消息转发到其他进程】:这里gate转发到map时,为啥map能收到数据呢,他们两的协议族都不同
gxh_1995 就是gate和map又创建了新的连接,udp包着kcp通信的。
IxbxAx 哦哦,意思是gate有两个连接吗?一个是对外的tcp协议,一个是对内的kcp,对外的socket收到数据,使用对内的kcp转发给其他进程
gxh_1995 √
IxbxAx 🤩 通了通了,感谢解答