Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ws和http如何共存 #45

Open
caohuiboss opened this issue May 24, 2023 · 7 comments
Open

ws和http如何共存 #45

caohuiboss opened this issue May 24, 2023 · 7 comments

Comments

@caohuiboss
Copy link

就是期待端口复用,之所以有这个疑问是因为我用WsServer上传的附件无法给前端访问

@k8w
Copy link
Owner

k8w commented May 24, 2023

4.x 有在计划支持,目前的话,你可以通过前置 nginx 来实现端口复用(区分路径)

@caohuiboss
Copy link
Author

那大佬,我上传的静态资源到本地服务器如何打开呢,还是说我只能通过nginx请求代理这个资源目录才行,话说有么有一个完整的文字教程或者视频教程进行整个框架的融合贯通呀

@k8w
Copy link
Owner

k8w commented May 24, 2023

单机部署的话,nginx 可以很好的满足你的需求。
分布式部署的话,上传文件可以直接走阿里云/腾讯云的 OSS,用 CDN 来访问。

@caohuiboss
Copy link
Author

单机部署的话,nginx 可以很好的满足你的需求。 分布式部署的话,上传文件可以直接走阿里云/腾讯云的 OSS,用 CDN 来访问。

  1. 了解,话说回来,按照大佬的开发游戏服务的经验,用户交互端比如需要实时同步的情况和后台管理端这些不需要实时同步的,大佬是会分成两个项目来开发么,比如一个是tsrpc ws,另一个是tsrpc http,不会放在同一个项目里面实现吗

  2. 还有个疑问就是我在backend/src/shared中手动更改了一些类型定义,虽然它同步更新到frontend了,但是frontend中的类型验证并没有立马同步(类型文件已经同步了),会导致我无法用最新的类型,前端始终在报错,除非我关闭vs编辑器,然后才可以使用我在backend定义好的类型,偶尔还会出现我明明已经注释了前端的代码,前端浏览器灰色报错弹窗也显示了我注释了,但是它依旧报错不让我用,重启编辑器材可以继续使用,就目前而言我今天初次使用tsrpc,编辑器已经重启了多次了

@caohuiboss
Copy link
Author

对了大佬还有个疑问,为何我在客户端只开了一个窗口,在server.connections中却有两个,我是在做call.conn.userId案例打印server.connections时候发现的

@Dssssds
Copy link

Dssssds commented Nov 14, 2023

单机部署的话,nginx 可以很好的满足你的需求。 分布式部署的话,上传文件可以直接走阿里云/腾讯云的 OSS,用 CDN 来访问。

  1. 了解,话说回来,按照大佬的开发游戏服务的经验,用户交互端比如需要实时同步的情况和后台管理端这些不需要实时同步的,大佬是会分成两个项目来开发么,比如一个是tsrpc ws,另一个是tsrpc http,不会放在同一个项目里面实现吗
  2. 还有个疑问就是我在backend/src/shared中手动更改了一些类型定义,虽然它同步更新到frontend了,但是frontend中的类型验证并没有立马同步(类型文件已经同步了),会导致我无法用最新的类型,前端始终在报错,除非我关闭vs编辑器,然后才可以使用我在backend定义好的类型,偶尔还会出现我明明已经注释了前端的代码,前端浏览器灰色报错弹窗也显示了我注释了,但是它依旧报错不让我用,重启编辑器材可以继续使用,就目前而言我今天初次使用tsrpc,编辑器已经重启了多次了
  1. 管理端和游戏服务,正常来说就是放两个工程里面的。
  2. frontend 和 backend 的 share 不同步的原因,一般是 symlink 和 copy 的原因,建议用symlink,后端协议变了,就重新 build 一份到 frontend 就可以。

@Dssssds
Copy link

Dssssds commented Nov 14, 2023

对了大佬还有个疑问,为何我在客户端只开了一个窗口,在server.connections中却有两个,我是在做call.conn.userId案例打印server.connections时候发现的

这个情况,应该是浏览器还开了一个吧。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants