辞职完在家摸鱼,用 peerjs 摸了一个 P2P 的聊天页面 Peek,静态网页托管在 Github Pages ,无中心服务器,或者说服务器就是 peejs 官方的服务器,能白嫖绝不掏钱😏。
进入页面后稍等片刻会看到本设备的 peer id ,把 id 发送给另一台设备填入后点击 Connect 就可以连接了,点击头像可以修改昵称,reset 按钮用于清空数据,解决奇奇怪怪的 bug 。目前的功能只有简单的文字聊天和文件传输,视频通话做了但没有完全做好,可能会有许许多多奇怪的 bug ,需要两台设备同时在线(适合拥有两台设备并且闲的蛋疼的人左右互搏),建议使用 chromium 类浏览器访问,高级版本的 iOS safari 也行。
目前局域网连接速度还行,其他网络环境下就十分堪忧了,可以分享出自己 id 让其他人试一试,说不定就志同道合了呢。
以后可能会继续优化,但是估计也没什么时间了,欢迎 star
1
wheelg OP 做这个的初衷是有时想和自己的朋友传一些比较私密的文件,担心上传到聊天服务器有风险,于是想着能不能用 webrtc 相关技术实现私下的点对点通信,发现 peerjs 还挺不错的,于是动手撸了一个页面出来。
|
2
im67 2022-03-11 01:58:46 +08:00
嗯……搞个随机在线 ID (摇一摇?)
|
3
Vincent103 2022-03-11 08:35:50 +08:00
自己一台电脑,用两个浏览器也能聊
|
4
gongquanlin 2022-03-11 08:53:18 +08:00
685e787f-cd54-46b0-a398-9990585b3635
在线等 |
5
aviator 2022-03-11 08:58:18 +08:00
很棒棒,还能传文件和视频
|
8
toan 2022-03-11 09:29:13 +08:00
很不错,有使用场景
|
9
twinsdestiny 2022-03-11 09:30:18 +08:00
不能回车发送。。。
|
10
3img 2022-03-11 09:32:09 +08:00
89f18ed6-73ad-4151-992e-c6bc9ad721fc
|
11
wanguorui123 2022-03-11 09:32:19 +08:00
有点慢
|
12
misaka19000 2022-03-11 09:38:35 +08:00 1
连不上
|
13
winglight2016 2022-03-11 10:45:39 +08:00
我也搞过这种,还能视频聊天,不过玩了两下就没啥意思了,毕竟你还得推广给所有的联系人
|
14
deplivesb 2022-03-11 11:14:46 +08:00
feaa27ab-81fe-46e8-8ee1-7f3746bc85e8
在线等 |
15
alexzsh 2022-03-11 11:49:09 +08:00
reset 文案修改下吧
“This will clear all user infomation, Are your suer ?” |
16
alexzsh 2022-03-11 11:49:33 +08:00
94da9ea4-5d01-4972-ab93-57e382a4faf5
|
17
lvsijun 2022-03-11 11:51:55 +08:00
在线等,17801554-a19f-4c99-a6bc-7a8fe154ec0b ,hhhhhhh
|
18
wheelg OP @pxiphx891 服务器只是起到一个拉线的作用,两个设备连接后就是直连了,不会再被服务器转发,所以局域网连接会比不同内网连接快
|
19
wheelg OP 对了,GitHub 链接是这个 https://github.com/peek-transfer/peek-transfer.github.io ,欢迎各位在下面提提 issue 改进意见什么的,v 站上来看不太及时。
|
20
wheelg OP @twinsdestiny 晚点加上
|
23
wheelg OP @im67 这样就需要用到服务器了,而且感觉有审查风险,目前就做一个私人交换 ID 互传文件的场景就行。
|
24
laLuna 2022-03-11 13:03:18 +08:00
14f52fbc-8e16-48a5-9a08-b480e8e56dec
|
25
duke807 2022-03-11 13:15:00 +08:00 via Android
|
26
duke807 2022-03-11 13:17:43 +08:00 via Android
至於 p2p ,要做就做好一點,譬如支持幾十人的視頻會議,除了攝像頭和 mic ,還要同時支持電腦桌面和電腦播放的聲音。
|
27
linteresting 2022-03-11 13:36:41 +08:00
9562d7ef-3333-437b-9588-cc8c5f62ee53 在线等
|
29
molvqingtai 2022-03-11 14:02:09 +08:00 via Android
@wheelg 最近想做一个类似的,如果 browser to browser 不需要服务器拉线这一步操作可以实现通信吗,就整个流程都不需要服务器
|
30
MonkeyJon 2022-03-11 14:45:48 +08:00
发消息绑定一下回车,谢谢
|
31
godfunc 2022-03-11 14:49:15 +08:00
等 5930067e-b212-40f3-b325-f77501acedfa
|
33
wheelg OP @molvqingtai 应该是不行的,需要一个服务器做桥梁让双方互相通信一次才行
|
34
wheelg OP @2435043xia 我试了一下,使用移动数据的话偶尔能连接上,如果连的是不同的 wifi 大概率连不上,不过对于我来说使用场景是足够了
|
35
duke807 2022-03-11 15:43:25 +08:00 via Android 1
@molvqingtai
可以的,搜關鍵詞:serverless webrtc |
36
molvqingtai 2022-03-11 15:48:22 +08:00
@duke807 #35 感谢,我研究研究
|
37
darkengine 2022-03-11 15:49:30 +08:00
连接不同的 wifi 大概率连不上?!古时候有个软件叫飞鸽传书。。。
|
38
iovekkk 2022-03-11 15:49:59 +08:00
能群聊吗
|
39
HeyWeGo 2022-03-11 15:50:47 +08:00
把~这串 id 优化下~
|
40
StephenZzz 2022-03-11 16:28:37 +08:00
dd3fc67a-dce5-4959-96e8-6c0071aaa6e0
|
41
douyacun 2022-03-13 23:47:33 +08:00
|