当客户端具有令牌(由Laravel jwt提供)时,我的套接字可以正常工作,但是,需要在尚未通过身份验证的情况下与客户端一起工作,我想要类似以下内容:
io.sockets
.on('connection', socketioJwt.authorize({
secret: process.env.JWT_SECRET,
timeout: 15000 // 15 seconds to send the authentication message
}))
.on('authenticated', function(socket) {
console.log('Authenticated!!');
// This works:
socket.on('setDataRegistered', function(datos) {
console.log('Registering!');
});
})
// This doesn't works:
.on('config', function(socket) {
console.log('A client wants to be configured before authenticated!');
})
Run Code Online (Sandbox Code Playgroud)
如何在身份验证之前从前端调用“ config”(socket.emit('config'))?
谢谢你的帮助。对不起,我的英语。
我在这里读到了关于我在node.js中的问题的答案,但我的问题仍然存在.随着服务器socket.io,一切看起来正常,但在客户端,铬说:无法加载资源:3382/socket.io/socket.io.js:服务器与404(未找到)本地主机的状态回应
var express = require("express");
var http = require("http");
var _io = require("socket.io");
var PORT = 3382;
var app = express();
app.listen(PORT, function(){
console.log("Listening from "+PORT);
});
var server = http.createServer(app);
var io = _io.listen(server);
Run Code Online (Sandbox Code Playgroud)
有了玉我有:
script(src='/js/jquery.js')
script(src='/js/chat.js')
script(src="socket.io/socket.io.js")
Run Code Online (Sandbox Code Playgroud)
我在文件夹静态文件夹js,它工作正常.我不知道是不是因为版本(node -v show v0.8.16),我如何看到express和socket.io的版本?
我可以通过版本1.6正常保存用户,但我决定使用这个新版本的Django创建一个新项目,并且所有代码都是相同的,但是当我尝试使用前端创建一个新用户(使用Restangular创建)时显示我一个错误.DRF API的形式显示相同的错误.它询问了我的详细信息,如date_joined和last_login:O没问题,我写了.但DRF显示:"在使用多对多关系之前,需要为字段"用户"设置一个值.
在终端工作完美只是与
from django.contrib.auth.models import User
u = User()
u.username="newuser"
u.save()
Run Code Online (Sandbox Code Playgroud)
我有多个模型,就像m2m关系一样,如:
class Inscription(models.Model):
categoria = models.ForeignKey('app.Category')
user = models.ForeignKey(User, related_name='inscriptions')
signed_by = models.ForeignKey(User, related_name='inscription_signed_by')
created_at = models.DateTimeField(auto_now_add=True)
udpated_at = models.DateTimeField(auto_now=True)
def __unicode__(self):
return '%s - %s' % (self.categoria.nombre, self.user.first_name)
Run Code Online (Sandbox Code Playgroud)
但是这在上一个版本中工作正常,我不知道我做错了什么:(我使用DRF 2.4.3和Python 3.3.5.¿我怎样才能让DRF正常工作?非常感谢你!
编辑:我使用router.register(r'users',UserViewSet)这样使用它:
class UserViewSet(ModelViewSet):
model = User
write_only_fields = ('password',)
lookup_field = 'id'
Run Code Online (Sandbox Code Playgroud)