2016-06-18 8 views
0

Dies ist eine allgemeine Frage zu Socket IO, mit der ich ein wenig nicht vertraut bin. Ich habe ein paar Tutorials und Beispiele zu sehen, rufen sie scheinen den socket.io Server ähnlich wie diese zur Abfrage:Socket IO Query Parameter

https://example.com/socket.io/1/?userid=j568mfkkl3ow29&msgEvent=RTCMultiConnection-Message&socketCustomEvent=RTCMultiConnection-Custom-Message&EIO=3&transport=polling&t=LLZpEfU

Was ist der /1/ in der URL? Ich habe den Servercode durchgesehen und sehe keinen Code, der dies erfordert. In meinen Clientbibliotheken enthält die Abfrage manchmal nicht /1/. Was macht dieser Parameter?

Manchmal wird /1/ nicht von den Clients gesendet. Ich habe immer noch nicht herausgefunden, warum dieser Parameter manchmal gesendet oder manchmal nicht gesendet wird. Kann jemand erklären, was es macht?

Ich hoffe, es wird mein Debuggen helfen.

Ein Beispiel wäre in https://github.com/muaz-khan/RTCMultiConnection, die Videokonferenz Demo.

+0

Haben Sie ein Beispiel für ein Projekt mit '/ 1 /'? (Übrigens, das ist kein Abfrageparameter; es ist Teil des Pfades.) – smarx

+0

Ich habe ein Beispiel hinzugefügt – l3utterfly

Antwort

0

Ich glaube, das ist nur ein Versionsunterschied. Es sieht aus wie pre-1.0, socket.io verwendet eine "Protokoll" -Version im Pfad. Siehe https://github.com/socketio/socket.io-client/blob/f0e877da3c48eedb399d9ebd5d55cc6888a5ace0/lib/transport.js#L222-L229:

Transport.prototype.prepareUrl = function() { 
    var options = this.socket.options; 

    return this.scheme() + '://' 
    + options.host + ':' + options.port + '/' 
    + options.resource + '/' + io.protocol 
    + '/' + this.name + '/' + this.sessid; 
}; 

io.protocol in 0.9.6, die Version am Beispiel ihr habt, ist 1.

Ich glaube nicht, dass neuere Versionen von socket.io dies als Teil des URL-Pfades haben.

Verwandte Themen