Closed smil4ever closed 3 years ago
你是手工本地没有使用docker运行吧,./gochat.bin -module logic 会把进程放到前台,如果你要运行其他的,新开个terminal运行接下来挂在前台的进程,默认进程都是挂在前台的,你也可以nohup的形式挂在后台
bug已找到修改了,在server_tcp.go的init函数重复初始化RPC了,这个地方的bug,作者可以自行验证。
注释掉这些代码就ok了 // func init() { // rpc.InitLogicRpcClient() // }
只使用websocket,不使用tcp,是可以移除server_tcp部分。使用tcp这部分代码不能移除,不过整个代码上还有很大优化空间。 我运行时是在docker中,暂时没有复现你说的这个问题,可以给出更详细的错误信息
我不是在docker中测试的,是直接在裸机上测试的,如果不注释掉这块代码,直接卡死不动了就。。我有看到connect里RunTcp已经有过同样的初始化调用,在编译运行之前,init里过早的初始化了,导致后面的代码废了,你看一下你是不是最新的代码?确定是要调用两次吗?
./gochat.bin -module connect_websocket 与 ./gochat.bin -module connect_tcp 其实是两个进程,init初始化2次就不存在了,如果是在一个进程里,那么是有问题的,你是在windows环境?
windows WSL ubuntu子系统上测试的,我注释掉了之后,目前可以正常工作,后面不知道会出现啥问题。后边有问题了就反馈吧!您先忙吧!在试用这个到产品中,后期肯呢个会fork一下,做进一步的修改。
./gochat.bin -module logic卡住不动了。把main.go里的connect部分的代码临时注释掉,程序打印运行都正常了,是不是connect的部分代码占用资源过大?还是这部分代码有bug导致的?