标签: Socket.io
file-sharingflash-media-serverlivechatvideo-conferencing
我目前正在计划一个web应用程序(社交网络),人们可以在其中为客户共享特定主题的知识。知识共享将通过实时通信(音频、视频会议、谈话、实时聊天、共享文件)提供。如果可能,该解决方案应与现代桌面和移动浏览器兼容
在我对实时通信实现的研究中,我遇到了Socket.IO(http://socket.io)我看到了几个聊天轮盘赌的例子。我也看到了这一页:还有一些例子(http://code.google.com/p/flash-videoio/)
IO降级为可用传输(如果不是WebSocket,则为Fla
我使用socket.io打开从客户端到node.js服务器的套接字。我还使用io.sockets.clients().length每隔10秒将已连接用户数推送到所有客户端,该值的问题是,它不会检查同一用户是否已使用同一页面打开多个选项卡
有没有办法获取socket.io中连接的唯一客户端的列表?我想您正在锁定每个人的唯一ID
客户端代码
//当用户连接到套接字服务器以发出如下信息事件时
socket.emit('userInfo','clintUniqueID')//像mailid ID、用户名
我正在服务器端使用Flask SocketIO和javascript Socket.IO客户端创建一个应用程序。(稍后还会有一个Python客户端)。我想确保用户在连接到web套接字服务器之前经过身份验证
我创建了一个PHP登录表单来检查用户名和密码。如果这些是有效的,那么将返回一个唯一的令牌,并且该令牌也将插入到服务器上的表中。令牌被传递到客户端javascript,在那里它与创建web套接字连接的请求一起提交
据我所知,SocketIO只接受连接,我需要将验证代码放在('connect')d
根据[文件][1]
[1] :,连接、出错和断开连接等时,应在客户端上触发以下事件:
连接。连接时开火
错误。在连接错误时触发
断开。在断开连接时开火
重新连接。向…开火
成功的重新连接
如何在客户端上侦听此套接字事件?我正在使用以下命令,但未触发事件:
var socket = io.connect(); // does connect fine
socket.on('connect', function() {
console.log('connect fired');
});
在版本2.4和2.5之间,okhttp显然会导致流行的socket.io-client-java库中出现错误
除了坚持使用okhttp 2.4之外,还有其他解决方法吗?您可以使用OkHttpClient.setReadTimeout()等配置首选超时(使用0表示无超时!)这需要以某种方式获取socket.io-client内部使用的OkHttpClient实例。我认为没有静态方法来更改OkHttpClient的默认超时?没有,没有静态全局配置。如果socket.io不能为您提供要配置的OkHtt
我是sailsjs新手,在尝试实现此示例时遇到了困难:
api/controllers/SayController.js
module.exports = {
hello: function(req, res) {
// Make sure this is a socket request (not traditional HTTP)
if (!req.isSocket) {return res.badRequest();}
// Have the socket w
c#winform尝试通过套接字发送node.js套接字。
客户端已连接到服务器,但socket.emit值和socket.on值无法正常通信。
我想找到一个解决办法
我想将这个客户机名称作为json类型的数据发送到服务器,从服务器接收json类型的数据,读取它,然后将数据发送回json
socket.emit和socket.on的数据工作不正常,因此代码已被删除
c#代码
private void socketLogin(string email, string pw)
{
var s
我有一个约曼项目,我使用bower添加了这个项目
当我使用grunt服务器运行webapp时,一切正常。但是,当我使用grunt build构建它时,我得到以下错误:
Uncaught TypeError: Cannot call method 'push' of undefined
通过在Gruntfile.js(generateSourceMaps:true)中启用源代码映射,我成功地在socket.io.js中找到了错误的来源:
/**
* Add the transport to y
当第一台服务器关闭并尝试重新连接失败时,我正在尝试连接新服务器。到目前为止,它工作正常,第一台服务器断开连接,第二台服务器连接并侦听消息
socket.on('reconnect_failed', function () {
console.log("reconnect_failed");
socket = io.connect('http://localhost:4000',{
'reconnectionDelay': 100,
我正在尝试创建一个用于在浏览器中进行音频通话的应用程序。我找到了本教程并开始使用它作为基础:
经过一些调整以满足我的需要。我的结论如下:
var iceServers = [
{ url: 'stun:stun1.l.google.com:19302' },
{ url: 'turn:numb.viagenie.ca', credential: 'muazkh', username: 'webrtc@live.com' }
];
var sdpConstraints = {
我想向所有已连接但不在特定房间内的插座发出一个函数。最好的方法是什么?现在在火车上使用移动即时通讯,我将尝试向您展示更准确的代码。
但是考虑循环到IO.Engigig.客户端,您将得到一组连接的套接字。
使用io.nsp['/'].adapter.rooms['roomName']
您可以获得房间中的所有套接字id,如果您循环它,您可以访问诸如io.socket.connected[yourvarforloop].emit等套接字
你所要做的就是把它和一些变量x放在一起。。。。帮助它使用Obje
在socket.io 1.3中,我使用以下代码获取连接到服务器的客户端数量:
io.sockets.sockets.length
但是,从1.4开始,这不再有效。如何获取socket.io 1.4中连接到服务器的客户端数量?查看git历史记录,我发现数组已更改为对象。以下各项现在可以发挥作用:
Object.keys(io.sockets.sockets).length
或者,这也适用于:
Object.keys(io.sockets.connected).length
这将打印已连接客户
有人知道羽毛上有一个插座式消防水管吗?ie:socket.on('all'…)或Feather为所有套接字消息生成的特定事件?默认情况下不是这样。但你可以这样做
app.mixins.push(功能(服务){
服务。\u serviceEvents.forEach(事件,数据=>{
emit('all',{data,event});
});
});
我有一个使用socket.io的node.js服务器。我返回的对象中有id值。这个值是二进制的。目前我让socket.io处理这个问题,因为它声明它可以处理二进制值。请求的服务器日志如下所示:
socket.io:socket sending ack [null,[{"id":{"type":"Buffer","data":[187,147,6,248,235,251,17,230,158,219,131,162,166,89,203,237]},"name":"Test project"}]]
我的套接字连接url是-->http://myipaddress:port/apisocket
android客户端正在尝试连接,但收到XHR轮询错误
客户端正在使用Socket.io
我们已尝试使用传输设置,删除ssl配置,但无法连接
Here is my websocket config file ----->
Here endpoint is /apisocket
@CrossOrigin("*")
@Configuration
//Here endpoin
我得到了一个场景,我正在实现socket.io连接以将通知推送到所有客户端
sockets = io.connect("http://localhost:3000");
sockets.on("connection", function(socket){
socket.on('connect',function(data){
});
socket.on('reconnect_failed',function()
不久前,我的express Web服务器需要HTTPS支持。我找到了一个教程,教我一个很酷的技巧来实现这一点。他们基本上向我解释了AWS负载平衡器可以将HTTPS重定向到HTTP
因此,我首先创建了一个负载平衡器
然后将HTTPS重定向到HTTP。传统的HTTP,我只是将80重定向到80。我在端口1337上安装了一个websocket(socket io)(我计划在不久的将来将其更改为端口1338)
为了清楚起见。我并不真正需要负载平衡器,因为我实际上只有一个AWS实例。但是使用这种设置,我
在hapi中,要获取发出请求的当前用户,可以使用:
request.auth.credentials
没有请求时,如何获取当前用户?例如,当使用socket.io时,如下所示:
socket.on("changes", ({item_id, changes}) => {
//need to check auth here
});
编辑:我可以运行以下操作并将所有活动cookie作为单个字符串获取:
console.log(socket.request.coo
我正在开发一个聊天应用程序。我在左侧的侧边栏中显示用户的房间。我使用分页加载房间(这意味着我最初不会加载所有房间)
当用户在侧边栏中选择一个房间时,会打开一个聊天框,我加载消息,再次使用分页,因此只获取消息的子集
我想有一个功能,甚至在用户点击任何房间之前,我就可以在侧边栏的每个房间条目上显示每个房间未看到的消息的数量,作为一个徽章。要获得正确的计数,我基本上必须查看房间中用户没有看到的所有消息,而不仅仅是我迄今为止获取的分页子集
在我看来,这必须单独获取并使用不同的查询,而且在新消息到达时,还
如何在socket.io中发出时调用控制器
我希望当从客户端调用emit时,数据首先保存在数据库中,然后发送到数据库
我的代码:
import SocketIO from '@ioc:Socket.IO'
SocketIO.afterStart(() => {
const io = SocketIO.io()
io.use((socket, next) => {
//Middleware
next()
});
io.on('co
有没有办法获得在套接字上注册的所有名称空间的列表
例如,假设某个客户端连接到一个命名空间:`socket=io('/some-nsp')
它们现在自动位于命名空间中,因为socket.io不会阻止创建随机命名空间
如果我想查看所有现有名称空间的列表并断开这些用户的连接,我怎么能得到这样一个列表呢
我尝试了io.nsps,但这只是一个垃圾循环列表
是否有一种“官方”的方式来获取在套接字上注册的所有名称空间的列表?我不想要客户名单。我只想要一个名称空间列表。您可以尝试以下方法:
Object.key
我的代码是:
var arrClients = {};
var client = {
socket:null,
username:null,
uid:false,
time:null
};
io.sockets.on('connection', function (socket) {
socket.on('message', function (msg) {
var sendParmas = {};
if(isFi
我使用socket.io-jwt库,代码如下:
socketio.use(require('socketio-jwt').authorize({
secret: config.secrets.session,
handshake: true
}));
但这限制了未经验证的。我需要的身份验证是可选的,并有办法检查后,如果你是登录或没有
有一些库?我通过将fail选项传递给authorize函数解决了这个问题。您应该调用acceptnull以声明没有错误
socketio.use(requ
我目前正在研究结束研究项目。主要主题是测量客户端Web浏览性能的服务质量。我已经搜索了很多,但我没有找到任何方法或语言使这项工作。
我发现Socket.io api可以与浏览器客户端实时通信。
它能实现我想要的吗?
还有别的办法吗?
谢谢你的帮助。据我所知,你要找的是RUM(真正的用户监控)。有很多工具可以测量浏览器端的性能,并将它们发送回服务器
有一个开源项目叫做Boomerang:
以下是众多用于RUM的SAS工具之一:。您还可以查看Soasta、Cedexis、Webperf.io
如果您
我有一些类似下面的代码
<script src="/socket.io/socket.io.js"></script>
<script>
var socket = io('http://localhost:8080');
socket.on('connect', function(){
socket.on('some-event', function(data) {});
});
socket.on('disconnect', fu
我已将Socket.iowsEngine选项设置为uWslike
如何在Socket.io上检查有效的wsEngine
因为我想确定是哪个套接字引擎由socket.io库运行
我正在类中使用socket.io-client,因此:
constructor() {
socket.on("a", this.a.bind(this));
socket.off("a", this.a.bind(this));
}
但是,当我构造on和off时,套接字仍然侦听a
我测试这一点的方法是在方法上输入console.log,然后在收到控制台时记录事件
我还尝试了socket.removeListener,但没有成功
也许是因为它是一个类方法?如何解决此问题?this.a
这是使用libwebsocket1.5版编写的客户端代码
#包括
#包括
#包括
#包括
#包括
#包括
#包括
#包括
#包括
#包括
静态易失性内力_出口=0;
静态int状态,命令_接收=0,分叉=0;
#定义最大回波有效载荷1400
#定义本地资源路径“/”
每个会话的结构\u数据{
无符号字符buf[LWS_发送_缓冲区_前置填充+最大回音_有效负载+LWS_发送_缓冲区_后置填充];
无符号整数len;
};
//用于临时存储来自tcpdump的数据
每个会话的结构数据1;
静态i
我有一个工作socket.io设置,带有一个JavaScript客户端和一个python服务器。
客户机基本上只是一行:
WebSocket握手期间出错:意外响应代码:404
socket = io.connect('');
服务器脚本可以在以下位置找到-我正在端口5000上运行服务器
关于客户机和服务器,您可能需要知道的是,它们在我的本地主机apache安装上工作得非常好,socket.io从GET请求开始,然后从那里升级到websocket。成功的握手是这样的:
http://localh
我已经实现了一个聊天服务,但是如果用户刷新页面的速度足够快,它似乎可以连接到自己。它不完全是它自己,而是它上一个会话的id。发生此问题的原因是,在快速刷新时,浏览器不会触发io.disconnect。我试图通过将断开连接代码附加到onbeforeunload事件来解决这个问题,但没有做太多更改。我不想摆弄pingtimeout和pinginterval,因为它们可能会干扰重新连接功能。有什么想法吗?我想你弄错了。这些重复连接最终将被断开。对于使用轮询协议建立的连接,检测断开连接的客户端大约需要一
因此,我正在尝试查找线路在特定时间连接到给定房间的客户端数量
if(rooms[code]!=null&&rooms[code].length==2){
查看给定房间中是否有2个人。从其他文章中,我看到了io.sockets.adapter.rooms和变量Object.key(io.sockets.adapter.rooms)都应该这样做,但是两者都会返回[]。我还尝试了io.sockets.in(roomID).clients但它总是返回未定义的。客户端肯定会加入文件室,因为向文件室发送发射
如标题所述,我的代码如下(部分):
我不知道它们到底是什么,有人能给我一些细节和例子如何在实际案例中使用它们吗?例如如何参考特定的插座连接
谢谢你问的是哪种语言?@levengli这是Javascript。我想试试express3和socket.io
var io = require('socket.io').listen(server);
io.sockets.on('connection', function(socket){
console.log("Connection " +
从0.9迁移到1.1
在以前的版本中,我们使用socket.socket.connecting检查套接字是否正在连接
对于1.1,它的等价物是什么?连接似乎不再存在
谢谢尝试套接字。已连接谢谢,但我们会检查已连接和正在连接。在1.1.Justsocket.Connected和notsocket.socket.Connected中仍然存在Connected,对吗?是的,没错。socket.connected存在并在1.1中工作,但未连接…存在一个
我创建了一些类似聊天的东西,我知道如何使用(sails.sockets.broadcast(…e.m))向房间中的所有用户发送消息,但不知道如何向一个用户发送消息(我认为是两个用户之间的聊天),当第二个用户向第一个用户发送消息时,首先由第二个用户发送消息,但当我创建3个用户时,当第三个用户向第一个用户发送消息时,第二个用户也会收到消息,我如何才能做到这一点。
谁知道怎么做呢?Socket.io内置了房间。你可以这样做:
io.on('connection', function(socket){
我已经实现了一个AngularJS应用程序,使用Sails.io.js通过WebSocket与Sails后端通信
由于后端基本上是一个纯API,并且将从其他应用程序连接到,所以我尝试完全禁用会话并使用JWT
我已经设置了ExpressJWT,可以很好地使用常规HTTP请求,但是当我通过sails.io.js发送请求时,根本没有发生任何事情——websocket请求在客户端一直挂起,而在服务器上也没有发生任何事情(具有“愚蠢”的日志级别)
我已尝试修补sails.io.js以支持,并且在连接时,我
我似乎在浏览器同步中使用的套接字与我想与socket.io一起使用的套接字存在冲突。我通过gulp任务使用browser-sync(这是Aurelia-CLIdefault项目附带的)。发生的情况是,只有浏览器同步套接字似乎可以工作,而服务器端主要使用的socket.io完全未读。我确实找到了解决这个问题的方法,还有另外一种方法,它们都提到了名称空间的使用。然而,我尝试了一些差异,即使它们运行时出现错误,也无法解决我的任何问题
我主要在Aurelia CLI项目中使用Gulp和browser s
下面是nodejs绘图游戏,一个socket.io的示例程序(http://tutorialzine.com/2012/08/nodejs-drawing-game/),使用railwayjs框架创建新副本(http://railwayjs.com/). 顺便说一下,我的开发环境是node.js edition for Win7
我可以在本地电脑上运行nodejs绘图游戏,但当我把它作为wailwayjs的一个模块运行时,我就没有运气了。
我不熟悉node.js,railwayjs。。。有人能帮
我想创建一个webrtc广播演示
这里我有一个问题,广播公司在连接10+用户时有巨大的带宽,因为它使用点对点连接,所以它使用这样的上传带宽
总上载带宽=用户数*(30 kb,大约上载1个视频)
所以我想这样发展
如何使用最小带宽开发多点webrtc?虽然您考虑以小团体多点方式使用webrtc,但这带来了许多复杂性和可靠性问题。根据我的经验,大多数通过对等点中继的WebRTC应用程序往往不太可靠。从概念上讲,这是一个好主意,但我还没有看到任何可靠的实际应用。可扩展WebRTC广播的最可靠的实现
我正在尝试使用typescript创建从服务器到客户端的socket.io连接,为此我需要在构造函数中定义“socket”对象,以便该对象可以使用socket向客户端发送数据。但是,当编译为javascript时,套接字对象不会被定义为该类的变量,这会阻止调用它
这是打字稿
导出类上载{
directory = "./data";
socket: Socket;
constructor(socket:Socket) {
this.socket = socket;
}
public u
如何断开/关闭服务器端的所有套接字
可能从服务器端重新启动socket.io模块
(使用lateste socket.io)不幸的是,socket.io没有一个公开记录的接口,该接口从一个版本到下一个版本都是相同的,用于执行迭代所有连接的套接字这样的基本功能。如果您想查看各种方法的整个历史记录,那么您可以查看此问题中的整个版本历史记录:,但您必须只注意适用于您正在使用的特定socket.io版本的答案,然后针对您的特定版本对其进行测试
截至2018年8月,尝试仅使用socket.io中记录的接
请让我知道在Tomact服务器中使用Netty Socketio API的psuedo代码
我试图通过在web应用程序中的HttpServlet的init()方法中添加以下代码来启动Netty的SocketIOServer:
Configuration config = new Configuration();
config.setHostname("localhost");
config.setPort(81);
SocketIOServer server = new SocketIOServ
我希望webapp(yeoman)上的套接字连接(socket.io)具有以下功能:
非登录用户访问web应用时。客户端套接字的默认设置是侦听“/welcome”命名空间。当用户登录webapp时,客户端套接字将更改为侦听另一个命名空间(“/home”)。然后,当用户注销时,客户端套接字将更改回侦听“/welcome”命名空间
图书馆:
插座:
约曼:我是这样做的:
在呈现某个模板时,我(通过服务器端的中间件)向视图传递一个附加参数,如isLoggedIn,当然,当用户登录时,这是真的
在视图模
我正在用HTML5开发一个非常简单的游戏,带有惊人的phaser.io。游戏非常简单:一个1vs1截击游戏在2D。。。实际上,它是伟大的“皮卡丘凌空抽射”(pikachu凌空抽射)的“复制品”
正如我所说,游戏非常简单,我有:
玩家1
玩家2
静态元素
球
我必须控制:
-球员动作
-球的运动(实际上由街机物理控制)
-球员球碰撞
我这样做只是为了好玩,把我朋友的脸加入到玩家中。
这个游戏玩得很好,我和朋友玩得很开心。所以我想,为什么不让它成为在线多人游戏,这样我们就可以从不同的地点远程玩
有人知道socket.io如何发送嵌套在JS对象中的二进制数据的底层实现细节吗
例如,他们网站上的示例是
我正在将webrtc集成到我的站点中,而且似乎没有webrtc库支持此功能,所以我想自己来实现它。不过,阅读socket.io1.0源代码非常密集,因此任何更高级别的概述或更好地接近源代码的指针都是值得赞赏的
澄清:使用base64编码对我来说不是一种选择。我已经在我的特定应用程序中尝试过,但编码对性能的影响太大。我不明白,您的问题与webRTC或通过套接字发送二进制数据有关?(那么这个“j
试图阅读socket.io中添加node.js项目的完整文档,但网站似乎已关闭。我也检查了DNS传播。还有其他方法来检查文档吗
他们网站上的文档毫无用处,让人头疼不已。没有他们的文件,我终于学会了。在继续之前,您可以阅读本指南:
有什么理由否决吗?我投票结束这个问题,因为它离题了
我有一个socketio node expressjs视频聊天应用程序,当两台设备连接到同一个wifi时,它可以正常工作。我已经在AWS上部署了它。但是当两台设备尝试通过互联网进行视频聊天时,如果没有连接到同一个wifi。它只是不工作,视频不会显示,控制台中也没有错误。
我没有一个有效的SSL证书,所以它说网站不安全,但我安装了一个假的SSL证书只是为了得到HTTPS。我的问题是,如果我获得了一个真正的SSL证书并将其安装在我的AWS ec2实例上,我的应用程序是否会在internet上开始工作
我使用PhantomJS1.9.16
当我使用karma runnter运行单元测试时,我被要求:
“捕获打开的浏览器”
我在WebStorm 10 IDE中执行此操作,然后单击上面的消息打开默认浏览器
“因果报应-开始”随后出现在浏览器视口中
WebStrom IDE中的Karma Server选项卡具有以下输出:
"C:\Program Files (x86)\nodejs\node.exe" "C:\Program Files (x86)\JetBrains\WebStorm 10.0.1
那里,,
我正在尝试用netty socket io编写一个聊天应用程序
我的服务器代码
Configuration config = new Configuration();
config.setHostname(my IP address);
config.setPort(3000);
final SocketIOServer server = new SocketIOServer(config);
server.start();
在客户端(网页
我们使用的是带有changefeed和socketio的referencedb。它工作得很好。在我们的应用程序中,对于来自客户端的每个连接(当用户浏览到该站点时),我们通过一个常量查询(如select*from messages)向用户订阅一个changefeed。如果我打开5个浏览器实例,将执行5次change feed代码
我的问题是changefeed如何在内部工作。它是否将侦听5个对rethnkdb服务器的changefeed订阅。或者,服务器将识别唯一的查询,并继续在内部监听所有此类客
已验证的-socket-io.adapter.ts
export class AuthenticatedSocketIoAdapter extends IoAdapter {
private readonly authService: AuthService;
constructor(private app: INestApplicationContext) {
super(app);
this.authService = this.app.get(AuthServic
上一页 1 2 3 4 5 6 ...
下一页 最后一页 共 14 页