小编Gor*_*ika的帖子

Socket.io在使用命名空间时不发送/接收事件

我在coffeescript中编写了以下代码,它在服务器端使用了socket.io和node.js

服务器

io.of("/room").authorization (handshakeData, callback) ->
    #Check if authorized
    callback(null,true)
.on 'connection',  (socket) ->
    console.log "connected!"

    socket.emit 'newMessage', {msg: "Hello!!", type: 1} 

    socket.on 'sendMessage', (data) ->
        @io.sockets.in("/room").emit 'newMessage', {msg: "New Message!!", type: 0} 
Run Code Online (Sandbox Code Playgroud)

客户

socket = io.connect '/'

socket.of("/room")
    .on 'connect_failed',  (reason) ->
    console.log 'unable to connect to namespace', reason
.on 'connect', ->
    console.log 'sucessfully established a connection with the namespace'

socket.on 'newMessage', (message) ->
    console.log "Message received: #{message.msg}"
Run Code Online (Sandbox Code Playgroud)

我的问题是,在我开始使用命名空间后,服务器和客户端之间的通信已停止工作.我没有找到任何与此相似的工作示例,所以我可能做错了什么

javascript sockets node.js coffeescript socket.io

3
推荐指数
1
解决办法
3357
查看次数

OneToMany关系不会与新实体一起持续存在

当我尝试使用symfony表单持久保存实体集合时,我遇到了一些问题.我按照官方文档,但由于此错误,我无法使其工作:

Entity of type ProductItem has identity through a
foreign entity Product, however this entity has no identity itself. You have to call    
EntityManager#persist() on the related  entity and make sure that an identifier was 
generated before trying to persist ProductItem. In case of Post Insert ID 
Generation (such as MySQL Auto-Increment or PostgreSQL SERIAL) this means you 
have to call EntityManager#flush() between both persist operations.
Run Code Online (Sandbox Code Playgroud)

我必须与OneToMany关系链接的实体:

产品

/**
 * @ORM\Column(name="id", type="integer", nullable=false)
 * @ORM\Id
 * @ORM\GeneratedValue(strategy="IDENTITY")
 */ …
Run Code Online (Sandbox Code Playgroud)

symfony doctrine-orm

3
推荐指数
1
解决办法
7805
查看次数