首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
crabor
V2EX  ›  问与答

客户端和服务端如果是不同后端语言编写,能互联吗?

  •  
  •   crabor · 327 天前 via Android · 1226 次点击
    这是一个创建于 327 天前的主题,其中的信息可能已经有所发展或是发生改变。

    lz 大二学生,最近在做弹幕微信小程序,需要将弹幕发送到 windows 桌面上。

    无奈小程序后端是 js,wpf 后端又是 c#,更不妙的是小程序对网络连接进行限制,只支持 http 和 websocket。

    那么问题来了,要如何连接小程序端和 win 桌面端呢? lz 现在想到另一种方法,就是通过数据库这个中转站,小程序先将弹幕数据上传到云主机的数据库,然后 wpf 端通过轮询方式查询数据库新增弹幕数据并下载到电脑然后展示。

    可是这样一来时延就比较严重了,从发弹幕到最后在屏幕上显示弹幕用时 4、5s 左右,这还只是一个用户的情况,对于并发情形还未进行测试。

    还一种思路就是小程序客户端直接将弹幕发送到 win 桌面端,然后异步将弹幕上传到数据库。这样似乎看起来就很完美。然而问题就在这,lz 受限于知识水平,上网通过关键词也未找到相关解决方案,就是如何直接连接小程序端和 win 桌面端,一个是 js,一个是 C#。如果都是比如 java 的话就好办,一个 socket 类一个 serversocket 类就解决了互联问题。

    想知道各位 V2exer 们有什么妙招吗?

    10 回复  |  直到 2019-03-02 20:57:26 +08:00
    misaka19000
        1
    misaka19000   327 天前 via Android
    socket 不是跨平台的吗?
    lerry
        2
    lerry   327 天前
    实现一个服务器端,使用数据库的订阅 /发布功能,比如 redis 就有
    crabor
        3
    crabor   327 天前 via Android
    @misaka19000 请问有类似的帖子啥的吗关于服务端客户端后端语言不一样但是可以互联?我找了好久没找到,自己试不成功也不知道怎么解决_(:з」∠)_
    kzfile
        4
    kzfile   327 天前
    redis pub/sub 吧.
    node 后台 pub,wpf 直接 sub
    kzfile
        5
    kzfile   327 天前
    这根语言有啥关系.都是走通用的 tcp 协议的.
    crabor
        6
    crabor   327 天前 via Android
    @kzfile 这学期才开计网,所以对这方面还是很模糊_(:з」∠)_
    zqx
        7
    zqx   327 天前 via Android
    理论上只要支持同一版本的网络协议,就可以进行通信吧?一段 js 请求的代码发出,先通过 c 语言的 nginx 服务器,再到 java 的网关服务器,再到 node/python/php 等等业务服务,各种语言实现的网络协议是约定好的,就能实现通信
    BiggerLonger
        8
    BiggerLonger   327 天前
    nodejs 做一個 websocket server 做轉發, 不需要數據庫吧, 做好 heartbeat 之類的就基本差不多了
    saioac233
        9
    saioac233   327 天前
    通信使用的是协议,http,websocket 都是跨平台的协议标准,和什么语言无关
    julyclyde
        10
    julyclyde   325 天前
    @crabor 这跟学期没关系,这是思维方式的问题
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   966 人在线   最高记录 5168   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 29ms · UTC 19:14 · PVG 03:14 · LAX 11:14 · JFK 14:14
    ♥ Do have faith in what you're doing.