在 Websocket 中添加自定义数据
Posted
技术标签:
【中文标题】在 Websocket 中添加自定义数据【英文标题】:Adding custom data in Websocket 【发布时间】:2013-03-12 04:44:00 【问题描述】:我想将登录的客户端用户名连同客户端输入的消息一起发送到 websocket 脚本。我需要支持实现另一个变量 rge 用户名,以便与消息一起发送。现在我正在使用:https://github.com/Flynsarmy/phpWebSocket-Chat 并且 js 是
Server.send( 'message', text );
Server 是 FancyWebSocket。这被发送到:
var FancyWebSocket = function(url)
var callbacks = ;
var ws_url = url;
var conn;
this.bind = function(event_name, callback)
callbacks[event_name] = callbacks[event_name] || [];
callbacks[event_name].push(callback);
return this;// chainable
;
this.send = function(event_name, event_data)
this.conn.send( event_data );
return this;
;
this.connect = function()
if ( typeof(MozWebSocket) == 'function' )
this.conn = new MozWebSocket(url);
else
this.conn = new WebSocket(url);
// dispatch to the right handlers
this.conn.onmessage = function(evt)
dispatch('message', evt.data);
;
this.conn.onclose = function()dispatch('close',null)
this.conn.onopen = function()dispatch('open',null)
;
this.disconnect = function()
this.conn.close();
;
var dispatch = function(event_name, message)
var chain = callbacks[event_name];
if(typeof chain == 'undefined') return; // no callbacks for this event
for(var i = 0; i < chain.length; i++)
chain[i]( message )
;
绑定到我的 server.php 为:
$Server->bind('message', 'wsOnMessage');
function wsOnMessage($clientID, $message, $messageLength, $binary)
【问题讨论】:
【参考方案1】:发送的内容由您决定。例如,您可以像这样发送它
Server.send("USERNAME|message", text);
然后您可以通过在管道|
符号处拆分接收到的字符串来提取服务器上的USERNAME。
【讨论】:
以上是关于在 Websocket 中添加自定义数据的主要内容,如果未能解决你的问题,请参考以下文章