使用Node.js的优势和劣势都有哪些

使用Node.js的优势和劣势都有哪些,第1张

NodeJs的优势:

现在的很多的服务器端的语言(PHP,JAVA,ASPnet),有什么问题呢,现在的服务器端的语言在用户访问服务器时,为每个用户链接创建了一个线程,但每个线程大约要耗费2M的内存,如果一个8G内存的服务器,也就能链接4000个左右的用户,如果用户的链接数较大,就必须增加服务器的数量,而且现在用户的链接方式有很多(如app,网页同时访问),这就又涉及到服务器共享的问题,所以服务器怎么支持最大的同时链接用户量就成了一个问题;

NodeJS修改了客户端到服务器端的链接方法,解决了这个问题,他不在为每个客户端创建一个新的线程,而是为每个客户端链接出发一个NodeJs内部进行处理的事件,所以NodeJS具备同时处理多达几万个用户的客户端链接的能力;

NodeJS适合开发的应用程序:

当应用程序需要处理大量并发的输入/输出,而在向客户端发出响应之前,应用程序内部并不需要进行非常复杂的处理的时候,我们应该考虑使用NodeJs来进行应用程序的开发,例如:

1、聊天服务器:如果聊天的人很多,用户的与服务器之间的并发链接量很大,但是服务器端的数据处理并不复杂;

2、综合类服务网站和电子商务网站的服务器:在这类网站中的服务器端,往往可能每秒存内可以接受多达上千条的数据并且需要将这些数据写入数据库中,NodeJs可以通过其队列机制将这些数据迅速写入缓存区中,然后再通过每一个单独的处理从缓存区中取出这些数据并将其写入数据库中,如果是其他的服务器(如Apache服务器或Tomcat服务器)的话,由于这些服务器采用的是阻塞型I/O机制,因此每条数据写入到数据库中都要等待一段时间(等上一条写完,才能写下一条),但是NodeJs使用的是非阻塞的I/O机制,因此可以实现这些数据到数据库中的写入,而不必再为每条数据的写入而等待一段时间;

总结:

一个规模稍微大点的系统都不是一种开发语言可以搞定的,往往是几种混杂一起,比如c、c做服务器端开发,java做业务逻辑,php等做前端展示,此外还需要消息中间件等等。

nodejs可以很快地在服务器端做原型(原来只有c系和java等能做的事情,性能还很高),而且代码量相对会少很多;另一点是它的语法优势,js闭包等。但它不太适合做cpu密集型处理的工作,只能绕着弯去解决,据说这次QCon会有人分享这方面的研究成果,可以关注下。

每种语言都有它适合的领域,没必要强求一门语言可以解决所有事情,拥有其它语言的特性,只有不断的tradeoff把系统做出来才是目标。这些都是丛书上看到总结的,还望指正

使用指令前,请一个搞清楚是对自己是用还是对所选择的玩家使用。
如果是对自己使用,请确认是否选择了玩家,以免弄错。
文中test是帐号名字,一个好人是玩家名子。
account account相关指令
account create 新建帐号,例子 account create test 1234 1234
account delete 删除帐号
account lock 锁定帐号
account onlinelist 在线帐号
account password 修改密码,例子 account password 1234 4321 4321
account set
account set addon
account set gmlevel 设置GM ,例子 account set gmlevel test 3
account set password 设置密码,例子 account set password test 4321 4321
additem 添加物品,例子 additem 69997 5,除了支持使用物品id,也可以用物品名或者点击物品链接
additemset 添加套装,例子 additemset 201
addjifen 修改几份,例子 addjifen 100
ahbotoption
announce 发布公告,例子 announce 服务器5分钟后停机更新
aura 增加aura,例子 aura 51960
ban ban命令
ban account ban帐号
ban character ban角色
ban ip ban IP
baninfo
baninfo account
baninfo character
baninfo ip
bank 打开银行,例子 bank
banlist
banlist account
banlist character
banlist ip
bd 绑定炉石,例子 db
bindsight
cast 施法
cast back 反向施法(选中的目标对自己施法)
cast dist
cast self
cast target
character customize
character delete 删除角色,例子 character delete 一个好人
character level
character rename 修复名字(下次登陆生效),例子 character rename 一个好人
chongzhi 重置副本(下次登陆生效),例子 chongzhi
combatstop
cometome 召唤一个生物到你跟前
commands 显示命令,例子 commands
cooldown 清楚法术冷却时间,例子 cooldown
damage 造成伤害,例子 damage 1000
db 赌博, 例子 db 40000
debug
debug arena
debug bg
debug Mod32Value
debug play cinematic
debug play movie
debug play sound
demorph 改变模型(变回原来的自己),例子 demorph
die 直接杀死,例子 die
dismount 下坐骑
distance 显示距离
event
event activelist
event start
event stop
explorecheat 探索地图,例子 explorecheat 1
flusharenapoints 分配jjc点数,例子 flusharenapoints
freeze 冻结玩家,例子 freeze 一个好人
gm
gm chat
gm fly
gm ingame 显示在线GM
gm list 显示所有GM和GM级别
gm visible
gmannounce 给在线GM发消息
gmnameannounce 给在线GM发消息
gmnotify 给在线GM发消息
go go相关命令
go creature 传送到生物(重要),例子 go creatures 54810
go graveyard
go grid
go object
go taxinode
go ticket
go trigger
go xy
go xyz
go zonexy
gobject gobject相关命令
gobject activate
gobject add 添加gobject,例子 gobject add 12345
gobject delete
gobject move 移动gobject到玩家所在地点,例子 gobject move 12345
gobject near 显示附近gobject,例子 gobject near 20(不加距离默认为10,如果显示不出来请加大距离)
gobject setphase
gobject target
gobject tempadd
gobject turn 改变gobject朝向,使之朝向玩家方,例子 gobject turn 12345
godear
goname 传送到玩家(重要),例子 goname 一个好人
gps 显示坐标,例子 gps
groupgo 传送团队,例子 groupgo 一个好人
guid 显示玩家guid
guild 工会命令
guild create
guild delete
guild invite
guild rank
guild uninvite
hc 回城指令,例子 hc
help 帮助指令,例子 help
hidearea
honor honor相关指令
honor add 增加荣誉,例子 honor add 10000
honor addkill 增加杀死,例子 honor addkill
honor update 更新荣誉,例子 honor update
hover
instance 副本相关指令
instance listbinds
instance savedata
instance stats
instance unbind
itemmove
jiangji
kick 提出玩家,例子 kick 一个好人
learn learn相关指令
learn all
learn all_crafts 学会所有商业技能
learn all_default
learn all_gm 学会所有GM技能
learn all_lang 学会所有语言
learn all_myclass 学会本职业所有天赋和技能
learn all_mypettalents 猎人宠物学会所有天赋
learn all_myspells 学会所有技能
learn all_mytalents 学会所有天赋
learn all_recipes
levelup 升级指令,例子 levelup 10
linkgrave
list
list auras 显示aura,例子 list aura
list creature 显示生物id,例子 list creature 32145
list item 显示都有哪些玩家有该物品,例子 list item 32345 50(50表示只列出50条记录)
list object
listfreeze 显示被冻结的玩家,例子 listfreeze
loadpath
loadscripts
lookup lookup相关指令
lookup area
lookup creature
lookup event
lookup faction
lookup item 查找item,例子 lookup item 霜之哀伤
lookup itemset
lookup object
lookup player account
lookup player email
lookup player ip
lookup quest
lookup skill
lookup spell 查找技能,例子 lookup spell 英勇打击
lookup taxinode
lookup tele
lqjifen
lt 世界聊天,例子 lt 谁在线?
maxskill 技能最大,例子 maxskill
modify modify相关指令
modify arena
modify aspeed 改变所有速度,例子 m aspeed 5
modify bit
modify bwalk
modify drunk
modify energy 改变能量
modify faction 改变阵营
modify fly 改变飞行状态
modify gender 改变性别,例子 m gender male
modify honor
modify hp 改变hp
modify mana 改变mana
modify money 改变money
modify morph 改变模型,例子 m morph 15744
modify mount 改变坐骑和速度
modify phase
modify rage 改变怒气
modify rep 改变声望,例子 m rep 72 250
modify runicpower 改变dk符文能量
modify scale 改变比例
modify speed 改变跑步速度
modify spell
modify standstate
modify swim 改变游泳速度
modify titles
modify tp
movegens
mute
nameannounce
namego 召唤玩家,例子 namego 一个好人
neargrave
notify 发布消息
npc npc相关指令
npc add 添加npc,例子 npc add 25
npc addformation
npc additem 添加商人物品,例子 npc additem 70001
npc addmove
npc allowmove
npc changeentry
npc changelevel
npc delete 删除npc,例子 npc delete
npc delitem 删除商人物品
npc factionid 改变npc阵营
npc flag
npc follow 让npc跟随你知直到战斗或者死亡
npc info npc信息(重要),例子 npc info
npc move 把npc的刷新点移动你所在的位置,例子 npc move 34215(creature guid)
npc playemote
npc say
npc setdeathstate
npc setmodel 改变npc模型
npc setmovetype
npc setphase
npc spawndist
npc spawntime
npc tempadd
npc textemote
npc unfollow 使npc停止跟随你
npc whisper
npc yell
pdump
pdump load
pdump write
pet pet相关指令
pet create 制造pet,例子 pet create
pet learn 学习技能,例子 pet learn 23271
pet tp
pet unlearn 遗忘技能
pinfo
playall 在服务发送一个声音,例子 playall 13
possess
quest 任务相关指令
quest add
quest complete 完成任务
quest remove
recall
reload reload相关指令
reload all 重载所有数据,例子 reload all
reload all_item
reload all_locales
reload all_loot
reload all_npc
reload all_quest
reload all_scripts
reload all_spell
reload areatrigger_involvedrelation
reload areatrigger_tavern
reload areatrigger_teleport
reload command
reload config
reload creature_involvedrelation
reload creature_loot_template
reload creature_questrelation
reload disenchant_loot_template
reload event_scripts
reload fishing_loot_template
reload gameobject_involvedrelation
reload gameobject_loot_template
reload gameobject_questrelation
reload gameobject_scripts
reload game_graveyard_zone
reload game_tele
reload gm_tickets
reload item_enchantment_template
reload item_loot_template
reload locales_creature
reload locales_gameobject
reload locales_item
reload locales_npc_text
reload locales_page_text
reload locales_points_of_interest
reload locales_quest
reload milling_loot_template
reload npc_gossip
reload npc_option
reload npc_trainer
reload npc_vendor
reload page_text
reload pickpocketing_loot_template
reload points_of_interest
reload prospecting_loot_template
reload quest_end_scripts
reload quest_mail_loot_template
reload quest_start_scripts
reload quest_template
reload reference_loot_template
reload reserved_name
reload skill_discovery_template
reload skill_extra_item_template
reload skill_fishing_base_level
reload skinning_loot_template
reload spell_affect
reload spell_area
reload spell_bonus_data
reload spell_disabled
reload spell_elixir
reload spell_learn_spell
reload spell_linked_spell
reload spell_loot_template
reload spell_pet_auras
reload spell_proc_event
reload spell_required
reload spell_scripts
reload spell_script_target
reload spell_target_position
reload spell_threats
reload trinity_string
reload waypoint_scripts
repairitems 修理装备,例子 repairitems
reset reset相关指令
reset achievements 重置成就,例子 reset achievements
reset all 重置玩家所有天赋和技能,下次登陆生效
reset honor 重置荣誉,例子 reset honor 一个好人
reset level 重置等级,例子 reset level 一个好人
reset spells 重置技能,例子 reset spells 一个好人
reset stats 重置状态,例子 reset stats 一个好人
reset talents 重置天赋,例子 reset talents 一个好人
respawn 重置生物和物体的刷新时间
revive 复活
save 玩家存盘
saveall 存盘
send items 发送物品,例子 send items 一个好人 "hi" "give you" 32345:1
send mail 发送邮件,例子 send mail 一个好人 "hi" "give you"
send message 发送消息,例子 send message 一个好人 jinggaoni
send money 发送金钱,例子 send money 一个好人 "hi" "give you" 10000000
server server相关指令
server corpses
server exit 服务器退出
server idlerestart
server idlerestart cancel
server idleshutdown
server idleshutdown cancel
server info 查看服务器信息,例子 server info
server motd 查看服务器消息
server plimit
server restart 服务器重启
server restart cancel
server set closed
server set loglevel 设置服务器日志级别
server set motd 设置服务器消息
server shutdown 服务器关闭
server shutdown cancel
setskill 设置技能,例子 setskill 129 375 375
shengji
showarea
start 回家,例子 start
taxicheat 开飞行点,例子 taxicheat on
tele 传送(重要),例子 tele shanjinzhen
tele add 在当前位置增加传送点(重要),例子 tele add shanjinzhen
tele del 删除传送点
tele group 把玩家和他的团队传送到指令地点,例子 tele group shanjinzhen
tele name 把玩家传送到制定地点,例子 tele 一个好人 shanjinzhen
ticket
ticket assign
ticket close
ticket closedlist
ticket comment
ticket delete
ticket list
ticket onlinelist
ticket unassign
ticket viewid
ticket viewname
unaura
unban
unban account
unban character
unban ip
unbindsight
unfreeze
unlearn 遗忘技能,例子 unlearn 31700
unmute
unpossess
waterwalk 水上行走,例子 waterwalk on
wchange
whispers
wp event
wp load
wp mod
wp show
wp unload


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/10752567.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-11
下一篇 2023-05-11

发表评论

登录后才能评论

评论列表(0条)

保存