wuxiaomo
V2EX  ›  问与答

客户端 socket.io 能与服务器端 c 语言写的纯 socket 连接吗?

  •  
  •   wuxiaomo · Jul 11, 2015 · 4744 views
    This topic created in 3958 days ago, the information mentioned may be changed or developed.
    RT。
    现在已经有一套写好的服务器程序, 是用c写的,纯socket。 如果客户端用socket.io 来做通信, 是否可行?
    我自己google过,应该是不行。 socket.io 是websocket 的一种实现, 它得通信协议应该只能与websocket的服务器后端连接。
    如果不能连接,是否有靠谱的中间件,来做转发?
    有知道的朋友, 希望回答,谢谢~~~
    10 replies    2015-09-12 11:09:29 +08:00
    mkeith
        1
    mkeith  
       Jul 11, 2015
    浏览器里连socket吗?
    SoloCompany
        2
    SoloCompany  
       Jul 11, 2015
    socket.io 是一套 api 协议,不是通信层协议。至少到目前为止,socket.io 能支持的通讯层必须是基于 http 的(websocket 也是 http 的扩展),客户端和服务器都要实现同样一套 api 才能通信,不要被名字给误导了;所以,问题不正确,请重新发问
    ETiV
        3
    ETiV  
       Jul 11, 2015
    Node.js 用 socket.io 自己写个中间件转发.
    wuxiaomo
        4
    wuxiaomo  
    OP
       Jul 11, 2015
    @mkeith 对的

    @SoloCompany 感谢长回复

    @ETiV 自己实现觉得有点难度,如果有这样的库就好了
    gamexg
        5
    gamexg  
       Jul 11, 2015
    flash socket 能搞,但是socket.io 恐怕需要你自己写底层实现了。
    wuxiaomo
        6
    wuxiaomo  
    OP
       Jul 11, 2015
    maomaomao001
        7
    maomaomao001  
       Jul 11, 2015
    完全可以, 我在做一个游戏,服务器用的普通socket(java netty),客户端是websocket
    你看看wensocket的协议 就能实现了
    monnand
        8
    monnand  
       Jul 12, 2015
    请问用C写纯socket不能和哪些基于TCP/IP协议的程序通信……
    wuxiaomo
        9
    wuxiaomo  
    OP
       Jul 12, 2015   ❤️ 1
    @maomaomao001 请问你是怎么实现的? 实在服务端做转发嘛? 我刚刚看到websockify,webTCP 可以。 在另外一个帖子看到你 想实现 大球吃小球那个游戏, 你是在做这个吗?
    maomaomao001
        10
    maomaomao001  
       Sep 12, 2015
    @wuxiaomo 对,我实现同步的方式是,有个有公网的服务器提供转发数据的服务,然后,有一个人创建游戏,然后别人进入这个人的游戏(世界),逻辑什么的都是在创建游戏的那个人的浏览器上处理,最后把结果广播到别的玩家。可是,似乎这种方法不太好
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1156 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 48ms · UTC 17:42 · PVG 01:42 · LAX 10:42 · JFK 13:42
    ♥ Do have faith in what you're doing.