wuxiaomo
V2EX  ›  问与答

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

  •  
  •   wuxiaomo · Jul 11, 2015 · 5137 views
    This topic created in 4143 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
    mkeith
    Jul 11, 2015
    1
    浏览器里连socket吗?
    SoloCompany
    SoloCompany
    Jul 11, 2015
    2
    socket.io 是一套 api 协议,不是通信层协议。至少到目前为止,socket.io 能支持的通讯层必须是基于 http 的(websocket 也是 http 的扩展),客户端和服务器都要实现同样一套 api 才能通信,不要被名字给误导了;所以,问题不正确,请重新发问
    ETiV
    ETiV
    Jul 11, 2015
    3
    Node.js 用 socket.io 自己写个中间件转发.
    wuxiaomo
    wuxiaomo
    OP
    Jul 11, 2015
    4
    @mkeith 对的

    @SoloCompany 感谢长回复

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