场景:
java 游戏服务器,原生 socket 通信
后台 web 服务器,php
需求:
能否把这两个服务器合并到一起
其他猜想:
比如原来的微信或是 qq,有手机端,pc 端,web 端,服务端是如何架构可以让这三端通信的
场景:
java 游戏服务器,原生 socket 通信
后台 web 服务器,php
需求:
能否把这两个服务器合并到一起
其他猜想:
比如原来的微信或是 qq,有手机端,pc 端,web 端,服务端是如何架构可以让这三端通信的
|
watzdsJun 20, 2020 via Android
1
Java web 里也可以加 socket 处理啊,或者加 netty 都行
|
|
opengpsJun 20, 2020
2
socket 是依赖服务端程序的,web 端的那个 websocket 是多了信息头的。
三端通信最终都是转发实现,并非都直接用在同一个集群里的同一套代码逻辑 |
|
3
|
|
cnzjlJun 20, 2020
4
可以合到一起,比如 WEB 开发使用 SpringBoot,然后 socket 使用 Netty
|
|
SeneyJun 20, 2020
5
为什么不用 netty 呢 尤其是游戏服务器对网络要求蛮高的
|
|
hantsyJun 20, 2020
6
可以啊,Spring 已经支持 RSocket 规范,支持 TCP,Websocket 等协议。游戏开发就更适合 RSocket 这种协议了。
eg. https://github.com/hantsy/rsocket-sample/tree/master/crud 这个例子中,client 与 server 之间使用 tcp 通讯,为了方便测试,client 同时暴露了基于 HTTP 的 REST API 给外部。 |
|
hantsyJun 20, 2020
7
|
|
AmanceJun 20, 2020
8
rpc 通信就行了
|
|
hantsyJun 20, 2020
9
|
|
RJHJun 20, 2020
10
可以通过使用 MQ 或者共享数据库来实现三端通信
|
|
opengpsJun 20, 2020
11
@lbmjsls1 刚才理解叉批了,我以为你说的 web 是浏览器端,看你后来意思应当是服务器端的 web,那就都可以用 socket 开发了,你可以用同样逻辑的 socket 核心进行不同位置的托管转发实现,具体实现方式就不用多说了,完全由你自己设计
|
|
taogenJun 20, 2020 via Android
12
Web server 是帮你将 TCP messages 转换为 HTTP messages,底层还是 socket 通信。
原生的 socket 通信直接写个 Java 程序,创建 socket,监听端口,处理请求就行了。 两个应用可以合并到一台服务器,只要服务器的资源吃得消就行。 |
|
sagaxuJun 20, 2020 via Android
13
Java web 跟普通 Java 没有区别
|
|
micoloreJun 20, 2020 via iPhone
14
服务器高并发必然要用到 nio,netty 是首选,至于怎么结合,要看你们的系统架构了。
|
|
jimrokJun 20, 2020
15
只要不是 raw socket,java 是可以搞的。raw socket 写 ping 这种代码需要发 icmp 的包,java 就搞不来了。
|