CNode

如何给socket.io和node.js做的即时通信系统加上点对点文件传输功能?

问答
Ggdut-zdc发布于12 年前最后回复12 年前8 回复17427 浏览0 收藏

很显然,利用socet.io和node.js可以 很方便要构建出一个 即时通信系统,但基本上网络上的例子都是传输文本消息,如果我们传输文件呢? (会加上mongodb数据库),如何做?求思路

查看回复

回复 (8)

K
kurten#1·12 年前

1、最简单的方式是客户端先把文件先上传到又拍云、七牛云,这样的云存储服务上。然后发送返回的http连接给其他客户端。 2、图片base64后发送。

G
gdut-zdc#2·12 年前

@kurten 那这样即是转存啦,我想实现的是那种类似qq的文件传输功能,即时通讯。

B
bnuhero#3·12 年前
  • WebRTC DataChannel 或者
  • Flash

首先要确定支持哪些平台,哪种浏览器。

K
kurten#4·12 年前

那就用第二中,图片base64后,分段发送,接收后在把几段拼成一张图。 或者你直接把一张图片分成若干个数据块,然后一个一个发送。 服务端收到后边存边转发。

E
Einsy#5·12 年前

socket.io根本不是点对点,是服务器转发的,底层走的还是tcp,p2p一般用的是udp协议。

G
gdut-zdc#6·12 年前

@einsy 虾...真的咩,我的课程设计要求是基于p2p的,还想着用nodejs+socket.io来做来着,看来泡汤了啊啊。有没有其它方法?

M
macross2005#7·12 年前

新版的socketio支持二进制传输,非文本文件也能传. 我还没试过,你可以看看官方文档

X
xujun52011#8·12 年前

点对点有见过纯服务端实现么...异想天开, 充其量只能pipe

参与回复
登录后即可参与回复。登录