簡體   English   中英

Socket.IO發射對象Javascript

[英]Socket.IO Emit Object Javascript

無法從客戶端到服務器發射對象。這是客戶端上的代碼

var foo = {
name: xxx,
type: mytype
};
cc.log(foo);
socket.emit('test', foo);

錯誤

JS: [object Object]
JSB SocketIO.emit method called
jsb: ERROR: File /Users/xxx/Sites/socketIO/frameworks/js-bindings/bindings/manual/network/jsb_socketio.cpp: Line: 272, Function: js_cocos2dx_SocketIO_emit
Error processing arguments

您不能將javascript對象“ foo”作為第二個參數。 如SocketIO.h中所定義:

void emit(std::string eventname, std::string args);

第二個參數是一個字符串。 Cocos2d-js無法將JavaScript對象“ foo”自動轉換為std :: string。 但是,cocos2d-js可以通過jsval_to_std_string()將JavaScript字符串轉換為std :: string。

如果要發送對象,則可以將對象作為字符串發送,並在接收時進行解碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM