netease / chatofpomelo-websocket Goto Github PK
View Code? Open in Web Editor NEWchatofpomelo with pomelo 0.3.0
chatofpomelo with pomelo 0.3.0
一登录就断开了连接:以下为客户端console输出
init websocket build.js:1412
ws://192.168.1.103:3014 build.js:1419
[pomeloclient.init] websocket connected! build.js:1421
disconnect build.js:1448
init websocket build.js:1412
ws://127.0.0.1:3052 build.js:1419
socket close %j
CloseEvent {reason: "", code: 1000, wasClean: true, clipboardData: undefined, cancelBubble: false…}
build.js:1434
socket close %j
CloseEvent {reason: "", code: 1006, wasClean: false, clipboardData: undefined, cancelBubble: false…}
build.js:1434
I have tried Pomelochat-unity-socket but I doesn't work.
I found this problem :
The pomelochat-websocket game server config useDict = true in the connector, if I remove the useDict config then it works.
What's the problem there?
1 checkout repo
2 Successfully start game-server and web-server with default configurations.
3 log on http://127.0.0.1:3001/index.html, enter username and channel, click join.
4 game-server console outputs:
[2015-08-11 10:02:06.260] [ERROR] console - Caught exception: TypeError: Cannot convert undefined or null to object
at copyArray (e:\tmp\chatofpomelo-websocket\game-server\node_modules\pomelo\node_modules\pomelo-protocol\lib\protocol.js:266:11)
at Object.Package.decode (e:\tmp\chatofpomelo-websocket\game-server\node_modules\pomelo\node_modules\pomelo-protocol\lib\protocol.js:138:7)
at WebSocket. (e:\tmp\chatofpomelo-websocket\game-server\node_modules\pomelo\lib\connectors\hybridsocket.js:40:21)
at WebSocket.emit (events.js:110:17)
at Receiver.self._receiver.onbinary (e:\tmp\chatofpomelo-websocket\game-server\node_modules\pomelo\node_modules\ws\lib\WebSocket.js:549:10)
at Receiver.opcodes.2.finish (e:\tmp\chatofpomelo-websocket\game-server\node_modules\pomelo\node_modules\ws\lib\Receiver.js:448:14)
at Receiver.expectHandler (e:\tmp\chatofpomelo-websocket\game-server\node_modules\pomelo\node_modules\ws\lib\Receiver.js:433:33)
at Receiver.add (e:\tmp\chatofpomelo-websocket\game-server\node_modules\pomelo\node_modules\ws\lib\Receiver.js:93:24)
at Socket.firstHandler (e:\tmp\chatofpomelo-websocket\game-server\node_modules\pomelo\node_modules\ws\lib\WebSocket.js:524:22)
at Socket.emit (events.js:107:17)
[2015-08-11 10:02:06.266] [WARN] pomelo - [e:\tmp\chatofpomelo-websocket\game-server\node_modules\pomelo\lib\master\starter.js] child process exit with error, error code: 3221225477, executed command: C:\Program Files (x86)\nodejs\node.exe
Pomelo framework provides monitoring tool: AdminConsole. After game is loaded, you can access '7001' port and monitor the game information(operating-system, process, userInfo, sceneInfo, etc.).
访问7001端口Monitoring无效
pomelo是1.2版本,运行官方示例。在创建连接时提示错误:
[2016-02-19 17:05:45.965] [ERROR] console - Caught exception: TypeError: argument should be a Buffer
at TypeError (native)
at copyArray (F:\pomelo\chatofpomelo-websocket\game-server\node_modules\pomelo\node_modules\pomelo-protocol\lib\protocol.js:266:11)
at Object.Package.decode (F:\pomelo\chatofpomelo-websocket\game-server\node_modules\pomelo\node_modules\pomelo-protocol\lib\protocol.js:138:7)
at WebSocket.<anonymous> (F:\pomelo\chatofpomelo-websocket\game-server\node_modules\pomelo\lib\connectors\hybridsocket.js:40:21)
at emitTwo (events.js:87:13)
at WebSocket.emit (events.js:172:7)
at Receiver.self._receiver.onbinary (F:\pomelo\chatofpomelo-websocket\game-server\node_modules\pomelo\node_modules\ws\lib\WebSocket.js:549:10)
at Receiver.opcodes.2.finish (F:\pomelo\chatofpomelo-websocket\game-server\node_modules\pomelo\node_modules\ws\lib\Receiver.js:448:14)
at Receiver.expectHandler (F:\pomelo\chatofpomelo-websocket\game-server\node_modules\pomelo\node_modules\ws\lib\Receiver.js:433:33)
at Receiver.add (F:\pomelo\chatofpomelo-websocket\game-server\node_modules\pomelo\node_modules\ws\lib\Receiver.js:93:24)
我用webstorm IDE 开发时在cocos2d-html5 中并入了build.js 但是 pomelo.init() 会报:
Uncaught TypeError: Cannot read property 'init' of undefined
能否出一个客户端开发的详细教程
当我给指定users发消息时,对方不能收到,同时console报错“Uncaught SyntaxError: Unexpected token u ”,但是给所有人发消息则正常。
os:Ubuntu 16.04
node version:v4.4.4
pomelo version:1.2.3
1.启动 game server
2.启动 web server
3.输入 name 和 channel
4.点击 join
2016-10-15 15:51:04.299] [ERROR] console - Caught exception: TypeError: argument should be a Buffer
at TypeError (native)
at copyArray (/home/shitake/work space/chatofpomelo-websocket/game-server/node_modules/.0.1.3@pomelo-protocol/lib/protocol.js:266:11)
at Object.Package.decode (/home/shitake/work space/chatofpomelo-websocket/game-server/node_modules/.0.1.3@pomelo-protocol/lib/protocol.js:138:7)
at WebSocket.<anonymous> (/home/shitake/work space/chatofpomelo-websocket/game-server/node_modules/.1.0.4@pomelo/lib/connectors/hybridsocket.js:40:21)
at emitTwo (events.js:87:13)
at WebSocket.emit (events.js:172:7)
at Receiver.self._receiver.onbinary (/home/shitake/work space/chatofpomelo-websocket/game-server/node_modules/.0.4.25@ws/lib/WebSocket.js:549:10)
at Receiver.opcodes.2.finish (/home/shitake/work space/chatofpomelo-websocket/game-server/node_modules/.0.4.25@ws/lib/Receiver.js:448:14)
at Receiver.expectHandler (/home/shitake/work space/chatofpomelo-websocket/game-server/node_modules/.0.4.25@ws/lib/Receiver.js:433:33)
at Receiver.add (/home/shitake/work space/chatofpomelo-websocket/game-server/node_modules/.0.4.25@ws/lib/Receiver.js:93:24)
log4js配置有错,导致服务无法启动,请更正~
我在master分支上面做的修改,在web-server文件夹下面,跑了bash bin/component.sh
。按component的做法,应该会重新下载components,覆盖原来的;并生成build.js,覆盖原来的build/build.js。
但诡异的地方是新生成的build.js居然会报错,用firefox的firebug窗口查看信息如下:
ReferenceError: Buffer is not defined
...module ? module.exports : (this.Protocol = {}),'object' === typeof module ? Buff...
build.js (line 712)
其中,711-713行代码如下:
module.exports = Protocol;
})('object' === typeof module ? module.exports : (this.Protocol = {}),'object' === typeof module ? Buffer : Uint8Array, this);
初步怀疑下面几点:
1.我的component有问题,我在mac10.7下,版本如下:
0.18.0
2.可能是web-server/public/js/lib/local/boot
目录下的component.json文件指定的依赖文件版本有问题。
"dependencies": {
"component/emitter":"master",
"NetEase/pomelo-protocol": "0.3.x",
"pomelonode/pomelo-protobuf": "*",
"pomelonode/pomelo-jsclient-websocket": "master"
}
我先用着这个demo原先的build.js好了...XD
pomelo:0.82,websocket最新
以下是错误内容:
Error: Cannot find module 'bytes'
at Function.Module._resolveFilename (module.js:338:15)
at Function.Module._load (module.js:280:25)
at Module.require (module.js:364:17)
at require (module.js:380:17)
at Object. (H:\PomeloWorkSpace\ChatDemo\chatofpomelo-websocket\we
b-server\node_modules\express\node_modules\connect\lib\utils.js:384:22)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:364:17)
TypeError [ERR_INVALID_CALLBACK]: Callback must be a function
at makeCallback (fs.js:165:11)
at Object.fs.mkdir (fs.js:854:14)
at start (C:\Users\Administrator\AppData\Roaming\npm\node_modules\pomelo\bin\pomelo:347:8)
at Command. (C:\Users\Administrator\AppData\Roaming\npm\node_modules\pomelo\bin\pomelo:65:5)
at Command. (C:\Users\Administrator\AppData\Roaming\npm\node_modules\pomelo\node_modules\commander\index.js:249:8)
at Command.emit (events.js:182:13)
at Command.parseArgs (C:\Users\Administrator\AppData\Roaming\npm\node_modules\pomelo\node_modules\commander\index.js:472:12)
at Command.parse (C:\Users\Administrator\AppData\Roaming\npm\node_modules\pomelo\node_modules\commander\index.js:370:21)
at Object. (C:\Users\Administrator\AppData\Roaming\npm\node_modules\pomelo\bin\pomelo:142:9)
at Module._compile (internal/modules/cjs/loader.js:702:30)
when connect server ws://101.200.40.203:3014/ with error ERR_CONNECTION_REFUSED.
在自己电脑用两个浏览器互相聊天是可以的,但是局域网内的电脑只能看到登录页,却登录不进来,flash版也是这样
TypeError [ERR_INVALID_CALLBACK]: Callback must be a function
at makeCallback (fs.js:137:11)
at Object.mkdir (fs.js:713:16)
at start (/Users/circle/Documents/GitHub/NetEase/pomelo-master/bin/pomelo:347:8)
at Command. (/Users/circle/Documents/GitHub/NetEase/pomelo-master/bin/pomelo:65:5)
at Command. (/Users/circle/Documents/GitHub/NetEase/pomelo-master/node_modules/commander/index.js:249:8)
at Command.emit (events.js:182:13)
at Command.parseArgs (/Users/circle/Documents/GitHub/NetEase/pomelo-master/node_modules/commander/index.js:472:12)
at Command.parse (/Users/circle/Documents/GitHub/NetEase/pomelo-master/node_modules/commander/index.js:370:21)
at Object. (/Users/circle/Documents/GitHub/NetEase/pomelo-master/bin/pomelo:142:9)
at Module._compile (internal/modules/cjs/loader.js:689:30)
For the ChatOfPomelo multi-server version at: https://github.com/NetEase/chatofpomelo-websocket
The Readme.md file says under the section Monitoring:
Pomelo framework provides monitoring tool: AdminConsole. After game is loaded,
you can access '7001' port and monitor the game information(operating-system,
process, userInfo, sceneInfo, etc.).
When I launch the game-server and web-server, everything works (except for logging). I can send and receive messages from multiple browsers. However, I can't access anything on port 7001
to monitor the servers.
How do I monitor the servers?
-- Austin
The server doesn't listen on port 3014.
pomelo version: 2.2.5
node version: v7.8.0
[2017-04-14 17:40:01.934] [INFO] pomelo - [/home/slayer/workspace/chatofpomelo-websocket/game-server/node_modules/._pomelo@1.2.0@pomelo/lib/application.js] application inited: "master-server-1"
/home/slayer/workspace/chatofpomelo-websocket/game-server/node_modules/._socket.io@[email protected]/lib/store.js:35
Store.prototype.proto = EventEmitter.prototype;
^
TypeError: Cannot read property 'prototype' of undefined
at Object. (/home/slayer/workspace/chatofpomelo-websocket/game-server/node_modules/._socket.io@[email protected]/lib/store.js:35:41)
at Module._compile (module.js:571:32)
at Object.Module._extensions..js (module.js:580:10)
at Module.load (module.js:488:32)
at tryModuleLoad (module.js:447:12)
at Function.Module._load (module.js:439:3)
at Module.require (module.js:498:17)
at require (internal/module.js:20:19)
at Object. (/home/slayer/workspace/chatofpomelo-websocket/game-server/node_modules/._socket.io@[email protected]/lib/manager.js:16:13)
at Module._compile (module.js:571:32)
const char *ip = "127.0.0.1";
int port = 3014;
int main() {
// create a client instance.
pc_client_t *client = pc_client_new();
struct sockaddr_in address;
memset(&address, 0, sizeof(struct sockaddr_in));
address.sin_family = AF_INET;
address.sin_port = htons(port);
address.sin_addr.s_addr = inet_addr(ip);
// add some event callback.
pc_add_listener(client, PC_EVENT_DISCONNECT, on_close);
// try to connect to server.
if(pc_client_connect(client, &address)) {
printf("fail to connect server.\n");
pc_client_destroy(client);
return 1;
}else{
printf("connect success!");
}
}
Node.js v14.16.1.
Python 2.7.12 (default, Mar 1 2021, 11:38:31)
[GCC 5.4.0 20160609] on linux2
$ > sh npm-install.sh
npm ERR! code 1
npm ERR! path /data/gocpplua/pomelo/pomelo_prj/chatofpomelo/chatofpomelo-websocket/game-server/node_modules/heapdump
npm ERR! command failed
npm ERR! command sh -c node-gyp rebuild
npm ERR! make: Entering directory '/data/gocpplua/pomelo/pomelo_prj/chatofpomelo/chatofpomelo-websocket/game-server/node_modules/heapdump/build'
npm ERR! CXX(target) Release/obj.target/addon/src/heapdump.o
npm ERR! addon.target.mk:109: recipe for target 'Release/obj.target/addon/src/heapdump.o' failed
npm ERR! make: Leaving directory '/data/gocpplua/pomelo/pomelo_prj/chatofpomelo/chatofpomelo-websocket/game-server/node_modules/heapdump/build'
npm ERR! gyp info it worked if it ends with ok
npm ERR! gyp info using [email protected]
npm ERR! gyp info using [email protected] | linux | x64
npm ERR! gyp info find Python using Python version 3.5.2 found at "/usr/bin/python3"
npm ERR! gyp info spawn /usr/bin/python3
npm ERR! gyp info spawn args [
npm ERR! gyp info spawn args '/home/SENSETIME/chenqi1/.nvm/versions/node/v14.16.1/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py',
npm ERR! gyp info spawn args 'binding.gyp',
npm ERR! gyp info spawn args '-f',
npm ERR! gyp info spawn args 'make',
npm ERR! gyp info spawn args '-I',
npm ERR! gyp info spawn args '/data/gocpplua/pomelo/pomelo_prj/chatofpomelo/chatofpomelo-websocket/game-server/node_modules/heapdump/build/config.gypi',
npm ERR! gyp info spawn args '-I',
npm ERR! gyp info spawn args '/home/SENSETIME/chenqi1/.nvm/versions/node/v14.16.1/lib/node_modules/npm/node_modules/node-gyp/addon.gypi',
npm ERR! gyp info spawn args '-I',
npm ERR! gyp info spawn args '/home/SENSETIME/chenqi1/.cache/node-gyp/14.16.1/include/node/common.gypi',
npm ERR! gyp info spawn args '-Dlibrary=shared_library',
npm ERR! gyp info spawn args '-Dvisibility=default',
npm ERR! gyp info spawn args '-Dnode_root_dir=/home/SENSETIME/chenqi1/.cache/node-gyp/14.16.1',
npm ERR! gyp info spawn args '-Dnode_gyp_dir=/home/SENSETIME/chenqi1/.nvm/versions/node/v14.16.1/lib/node_modules/npm/node_modules/node-gyp',
npm ERR! gyp info spawn args '-Dnode_lib_file=/home/SENSETIME/chenqi1/.cache/node-gyp/14.16.1/<(target_arch)/node.lib',
npm ERR! gyp info spawn args '-Dmodule_root_dir=/data/gocpplua/pomelo/pomelo_prj/chatofpomelo/chatofpomelo-websocket/game-server/node_modules/heapdump',
npm ERR! gyp info spawn args '-Dnode_engine=v8',
npm ERR! gyp info spawn args '--depth=.',
npm ERR! gyp info spawn args '--no-parallel',
npm ERR! gyp info spawn args '--generator-output',
npm ERR! gyp info spawn args 'build',
npm ERR! gyp info spawn args '-Goutput_dir=.'
npm ERR! gyp info spawn args ]
npm ERR! gyp info spawn make
npm ERR! gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ]
npm ERR! In file included from ../src/heapdump.cc:17:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.