ID:Ediart(田健) ,NGA创始人之一,全面负责网站各项事务,人称企鹅。曾隶属于九城魔兽世界汉化组担任汉化组经理。被称为NGA第一大党骷髅党党首,因为其论坛评分已至-1111,曾经一个数字为-419和-11111,当然这些数字都是其他版主们开玩笑所致。
ID:zeg(张佳南),NGA创始人之一,从2003年起就负责NGA的程序和美工,人称张二哥或地精 。每次NGA服务器出问题的时候大家都会开玩笑说zeg又在拿服务器下哔片了。
ID:Sharak,NGA创始人之一,负责制作插件。
ID:Lanshark,NGA创始人之一,资深暴雪fans,NGA的暴雪Fansite就是由其在北美找暴雪拿下的,淡出论坛多年,早期的NGA开山级人物 。
ID:Sun (张云帆),UID3号,UID、注册时间系抢夺的老用户的ID,原本为多玩总经理,后来联合NGA创立178,NGA商业化的创始者 。
ID:cobalt,原超版,UID8号 ,原则较强,但脾气较暴躁,处理起来毫无情面,斩杀大师、工匠无数,现已是天选之人。
ID:舞者,原超版,核心成员中年龄最大的一位,号称永远的47岁,曾负责为NGA的网站提供内容,更新文章,现已是天选之人。
ID:神兵AWEI,超版,NGA创立时期就存在的版主,曾经被称NGA第一隐形超版。模型好手,NGA模玩之魂板块版主,已经淡出管理界,专心在游艇上制作各种模型,并向模玩区水群的群众传教战锤。
ID:luckyhawk,超版,人称胖叔叔,专门负责论坛秩序,中年老军医,传医术高超,是打击广告的能手,在大漩涡版面出没。
ID:MiaoM(孙倩),原超版,游戏ID蕾拉 ,曾经负责NGA的版务的全面管理,为人温和,因季羡林先生的悼念帖事件自爆帐号。
ID:哈娜,人气最高版主,头像为白布裙,简洁的花饰,永远无法发育完全的胸部,蓬松的长发,目光略带呆滞,深沉的斜视,拥有轨道炮的称号,即使如此,每天求交往的人也是络绎不绝。2012年5月13日,NGA用户 魂魄尽散妖华梦通过一些个人信息和密码,试出哈娜的论坛密码,并在近一年内零星的有所使用,其中有因为自己好恶,对其他用户ID进行处理。由于哈娜休产假近日未登录(且暂时无法联系到),而论坛内她的ID数次有不合理的 *** 作(这几天有无理由的禁言他人30天、nuke人等 *** 作),故而被察觉到论坛ID可能被盗。经Ediart决定,盗号者已知的所有账号全部nuke。哈娜本人虽然不能确定在本次事件中是否有责任,但也需承担部分责任,已是Old God。
ID:Kael,超版,和MiaoM、Ediart同属一个游戏公会,传说是因为zeg服务器down机变成超版的。
ID:Kane,原超版,人称黑杖,NGA早期版主,负责过5周年、7周年的出版物,已经是Old God。
ID:堕落的猴子,NGA最阳光,最宅基腐的超版,是NGA少数受到所有人喜爱的版主,对于游戏动漫有着极深的研究,处理版务也公平公正。另一身份为国内著名一般向漫画自扫(猴姬估计自己至少扫描了3TB的漫画)+翻译大师,在这方面的造诣也极深。因发宅基腐与开水瓶的下限帖子,其大爷曾惨被企鹅发帖凌辱(右边)
ID:Fkulc,超版,人称憨牛或者F牛,曾经翻译了很多优质的wow前瞻内容,号称NGA最繁忙的版主,发帖量已经突破11111 其中6K为“处理了”(清理专用动作) 2K为“不要再回复了” 1K为“申请Nuke了”,现负责版务和投诉处理,处事公正。
ID:nobleminded,超版,人称毛会大师,NGA早期在公会管理区有很高声望,现负责版务和投诉处理,大漩涡的红字公告基本皆为其发。后因处理麦德三世在D3版违反版规事件致使麦德三世不在NGA发言,最终Ediart作出了裁定,支持了版主的裁决。此事件支持者甚众,反对者亦众,是其在当超版期间最具争议的一次事件 。
ID:不知你在话乜,超版,来历不明,在2010年的时候一夜之间出现的,已是Old God 。
ID:yogomove,NGA少数几个拥有轨道炮徽章的版主,非常强悍的版主,翻译了无数WLK内容,创造了大量的精华帖,下刀惩罚违规用户也毫不手软。
ID:troubleo,昵称茶包,第一任国家地理俱乐部版主,曾任副本区,议事厅,黑锋要塞,镶金玫瑰,PC硬件区多个版面版主,资深电脑达人,公共版面发言不多,NGA元老人物之一。曾因为“无脑冰触流都是地雷坦”的言论在DK区掀起一波对战。 此外还在虎扑体育足球版块任尤文图斯队专区版主,虎扑看球app文字主播等。
ID:lacsclyne,星辰主力 ,治疗牧师玩的出神入化,在NGA牧师区有很高的声望,据说是一位17岁的少女,平常喜欢称自己为老娘或者人家。
ID:林熊猫,有多重职业的人,NGA很才华的版主之一,魔术、写作、游戏、打牌样样精通,有点傲娇。因力挺爆出代打事件的苹果牛,触犯版规,于2010年8月11日被撤销议事厅版主权限。
ID:calmh ,NGA最严格版主,常年潜水于论坛深处,作为风纪区版主,时刻处于风口浪尖,对于G团的处理简直掺不忍睹,曾经坑挖3页回复,皆因是在讨论G团帖。
ID:daijian33,以拥有“轨道炮徽章”为荣,作风和版规制定独断专横,对待违规用户下手异常凶狠 ,搞一言堂,以至于他的硬件版版面甚至无人敢发言。NGA被人投诉最多的版主之一。已是Old God。
ID:无聊过客,野德PVP导师,著名录像《唱反调》 系列,德鲁伊区版主。
ID:结果xd,德鲁伊区有爱版主之一,对PVE和公会管理有着自己独到的见解。已是Old God。
ID:吸血小猪猪,德鲁伊区资深版主,是有爱版主之一。已是Old God。
ID:妮妮的歪歪,头像为标志性的跳舞的母牛,其担任PVP刀锋山区/萨满区版主,国服台服高端PVP玩家,全球争霸赛3v3第四名,撰写萨满职业PVP指南。在PVP届享有很高的人气,在论坛热心回答问题,参与群众讨论,也是最有爱的版主之一,也是少有的靠实力打上去的五字角斗士,并且致力于揭发代打 。已是Old God。
ID:NGA_sTn23,除开发徽章的zeg外拥有NGA徽章 最多的版主。
ID:冰霜寒雪,昵称番茄,情感达人,被称之为NGA最美女版主,担任萨满区版主,并组织起最活跃的萨满活动群。已是Old God。
ID:d间龙2,号称钢之魂,资深狂暴战,战士区版主之一,本尊据说是西餐厨师,爱好是在午夜发美食贴。
ID:灵魂毁灭,昵称灵儿,担任公会管理区/人员招募区/英雄联盟GANK区/议事厅版主,经常半夜出没偷偷砍人并卖萌嫁祸。其担任人员招募区版主期间,大力改革致使各大公会苦不堪言,曾经银色黎明第一页长期有近一半帖子投诉此版主,自宫招募区50%-70%的发帖量仍屹立不倒,现成为NGA最严格和活跃的版区之一,也是NGA唯一一个因版主风格原因导致发帖受限制的版区(每12个小时楼主只能顶一次帖)。已是Old God。
ID: 十二邪神,十二妹,原萨满区版主,现大漩涡版主。擅长冷笑话和吐槽,口头禅“我是男的”
ID: 记忆中de旋律,大师,大湿,贼区/暗黑3区版主。很随和的一个版主,情感达人,号称辣手摧花。
ID:米瑞娜萌风,昵称米萌。剧情党,剧透狂。原镶金玫瑰旅馆版主,跟麦德三世关系很好,据称她从2012年底就有了大部分NGA版面的版主权限,但于2014年初才升任阿比特,存在感稀薄。第三性别女博士。被众版主称是8分美女,实际上脾气火爆,正义感十足,心狠手辣,大漩涡众多轨道炮常出于她手。
ID:清风善堂,全版。原风纪区版主,先已升为全版,在银色黎明处理日常投诉。
import javaioIOException;
import javanetInetSocketAddress;
import javanioByteBuffer;
import javaniochannelsSelectionKey;
import javaniochannelsSelector;
import javaniochannelsServerSocketChannel;
import javaniochannelsSocketChannel;
import javautilIterator;
/
NIO服务端
@author 小路
/
public class NIOServer {
//通道管理器
private Selector selector;
/
获得一个ServerSocket通道,并对该通道做一些初始化的工作
@param port 绑定的端口号
@throws IOException
/
public void initServer(int port) throws IOException {
// 获得一个ServerSocket通道
ServerSocketChannel serverChannel = ServerSocketChannelopen();
// 设置通道为非阻塞
serverChannelconfigureBlocking(false);
// 将该通道对应的ServerSocket绑定到port端口
serverChannelsocket()bind(new InetSocketAddress(port));
// 获得一个通道管理器
thisselector = Selectoropen();
//将通道管理器和该通道绑定,并为该通道注册SelectionKeyOP_ACCEPT事件,注册该事件后,
//当该事件到达时,selectorselect()会返回,如果该事件没到达selectorselect()会一直阻塞。
serverChannelregister(selector, SelectionKeyOP_ACCEPT);
}
/
采用轮询的方式监听selector上是否有需要处理的事件,如果有,则进行处理
@throws IOException
/
@SuppressWarnings("unchecked")
public void listen() throws IOException {
Systemoutprintln("服务端启动成功!");
// 轮询访问selector
while (true) {
//当注册的事件到达时,方法返回;否则,该方法会一直阻塞
selectorselect();
// 获得selector中选中的项的迭代器,选中的项为注册的事件
Iterator ite = thisselectorselectedKeys()iterator();
while (itehasNext()) {
SelectionKey key = (SelectionKey) itenext();
// 删除已选的key,以防重复处理
iteremove();
// 客户端请求连接事件
if (keyisAcceptable()) {
ServerSocketChannel server = (ServerSocketChannel) key
channel();
// 获得和客户端连接的通道
SocketChannel channel = serveraccept();
// 设置成非阻塞
channelconfigureBlocking(false);
//在这里可以给客户端发送信息哦
channelwrite(ByteBufferwrap(new String("向客户端发送了一条信息")getBytes()));
//在和客户端连接成功之后,为了可以接收到客户端的信息,需要给通道设置读的权限。
channelregister(thisselector, SelectionKeyOP_READ);
// 获得了可读的事件
} else if (keyisReadable()) {
read(key);
}
}
}
}
/
处理读取客户端发来的信息 的事件
@param key
@throws IOException
/
public void read(SelectionKey key) throws IOException{
// 服务器可读取消息:得到事件发生的Socket通道
SocketChannel channel = (SocketChannel) keychannel();
// 创建读取的缓冲区
ByteBuffer buffer = ByteBufferallocate(10);
channelread(buffer);
byte[] data = bufferarray();
String msg = new String(data)trim();
Systemoutprintln("服务端收到信息:"+msg);
ByteBuffer outBuffer = ByteBufferwrap(msggetBytes());
channelwrite(outBuffer);// 将消息回送给客户端
}
/
启动服务端测试
@throws IOException
/
public static void main(String[] args) throws IOException {
NIOServer server = new NIOServer();
serverinitServer(8000);
serverlisten();
}
}
客户端:
Java代码
package cnnio;
import javaioIOException;
import javanetInetSocketAddress;
import javanioByteBuffer;
import javaniochannelsSelectionKey;
import javaniochannelsSelector;
import javaniochannelsSocketChannel;
import javautilIterator;
/
NIO客户端
@author 小路
/
public class NIOClient {
//通道管理器
private Selector selector;
/
获得一个Socket通道,并对该通道做一些初始化的工作
@param ip 连接的服务器的ip
@param port 连接的服务器的端口号
@throws IOException
/
public void initClient(String ip,int port) throws IOException {
// 获得一个Socket通道
SocketChannel channel = SocketChannelopen();
// 设置通道为非阻塞
channelconfigureBlocking(false);
// 获得一个通道管理器
thisselector = Selectoropen();
// 客户端连接服务器,其实方法执行并没有实现连接,需要在listen()方法中调
//用channelfinishConnect();才能完成连接
channelconnect(new InetSocketAddress(ip,port));
//将通道管理器和该通道绑定,并为该通道注册SelectionKeyOP_CONNECT事件。
channelregister(selector, SelectionKeyOP_CONNECT);
}
/
采用轮询的方式监听selector上是否有需要处理的事件,如果有,则进行处理
@throws IOException
/
@SuppressWarnings("unchecked")
public void listen() throws IOException {
// 轮询访问selector
while (true) {
selectorselect();
// 获得selector中选中的项的迭代器
Iterator ite = thisselectorselectedKeys()iterator();
while (itehasNext()) {
SelectionKey key = (SelectionKey) itenext();
// 删除已选的key,以防重复处理
iteremove();
// 连接事件发生
if (keyisConnectable()) {
SocketChannel channel = (SocketChannel) key
channel();
// 如果正在连接,则完成连接
if(channelisConnectionPending()){
channelfinishConnect();
}
// 设置成非阻塞
channelconfigureBlocking(false);
//在这里可以给服务端发送信息哦
channelwrite(ByteBufferwrap(new String("向服务端发送了一条信息")getBytes()));
//在和服务端连接成功之后,为了可以接收到服务端的信息,需要给通道设置读的权限。
channelregister(thisselector, SelectionKeyOP_READ);
// 获得了可读的事件
} else if (keyisReadable()) {
read(key);
}
}
}
}
/
处理读取服务端发来的信息 的事件
@param key
@throws IOException
/
public void read(SelectionKey key) throws IOException{
//和服务端的read方法一样
}
/
启动客户端测试
@throws IOException
/
public static void main(String[] args) throws IOException {
NIOClient client = new NIOClient();
clientinitClient("localhost",8000);
clientlisten();
}
}
在这里我给大家推荐个灵活实用、专业性很强的需求管理软件(oBridge)
管理用户需求,让任务有依据
建立跟踪矩阵,让分析有基础
统御需求管理软件oBridge是一套强大的需求管理软件,它可以记录需求和它的演变过程,跟踪需求与设计、测试之间的关系,帮助用户分析需求变化造成的每一个影响, 评估需求变更造成的工作量,让需求管理不再成为项目的短板。
需求管理软件(oBridge)功能
Bridge能帮助用户实现项目需求条目化、版本化、层次化管理,建立需求跟踪矩阵,实现需求变更影响分析,并能在不同单位间实现离线数据交换。
oBridge需求管理工具实现了以下能力:
● 需求处理流程自定义
● 建立大数量级的需求跟踪矩阵
● 支持需求条目多层次关联管理
● 变更影响覆盖分析
● 需求变更后自动进行影响标记
● 需求文档合并
● 跨网路需求数据离线交换
● 支持设置角色,严格的数据权限控制
● 需求条目快速生成工作任务
● 支持需求输出到WORD和EXCEL
● 支持自定义输出样式
● 支持业务属性字段和界面的自定义
需求管理软件(oBridge)特点 :
● 不限级别的事前变更影响分析
● 事后逐级变化通知
● 支持多文档间需求跟踪矩阵
● 支持需求处置状态跟踪矩阵
● 支持需求覆盖跟踪矩阵
● 自定义处理流程及状态
● 独立的需求条目全视图
● 支持需求文档合并
● 支持多人同时在线编辑
● 支持跟踪需求条目变化全过程
● 支持与消息、测试
需求管理软件(oBridge)优势
oBridge为企业带来以下效益:
通过快速记录和共享需求,确保用户需求都得到处置
帮助用户进行设计和测试覆盖分析,提高产品质量
通过变更影响分析,帮助用户评估变更工作量,有效控制项目边界
基于条目存储,提高复用效率,为企业需求量化管理打好基础
通过需求快速生成工作任务,合理复用需求数据
需求管理系统(oBridge)功能导航
项目功能列表
需求管理
需求管理支持版本化、条目化 管理文档和需求条目,支持自定义需求流程、数据权限控制、需求多层次关联、需求生成工作任务、建立需求跟踪矩阵、自动标记变更影响、自定义报表样式,可输出到WORD和EXCEL,支持离线数据交换。
产品管理
产品管理支持多个产品集中管理,可分版本进行管理,支持规划产品版本路线和模块,可指派到具体项目中进行落实,支持查看产品的详细信息。
年轻人啊,路还很长呦。
问题二:傲骄,弱气受,无铁炮是啥意思 傲骄萌属性的一种,指在不同环境条件下,会从‘ツンツン(蛮横、任性)’变成‘デレデレ(害羞、体贴)’的特质。
中文一般是称为‘傲娇’(不过还有娇蛮、外冷内热、恶娇……等不同的译法)。(法米通中文好像翻作蛮横又娇羞?)
原本只用于形容女性角色,但近来也开始有人用在男性角色身上。态度不一定仅使用于恋人之间,近来有不少朋友角色之间的相处亦有ツンデレ现象。
弱气受BL中被动的一方。弱气受(内向,柔弱,情绪化的受,例子:石田彰配的许多角色都是这类)无铁炮并不像字面的意思那样是什么兵器之类的,无铁炮是日文,意思是鲁莽、不顾前后、不考虑后果的意思,多用这个词来形容人的性格。无铁炮指超元气的性格,平时活力四射,不知疲倦,性格开朗到大条甚至发傻的地步。
对于具有无铁炮性格的女孩来说,可谓是一大萌点。无铁炮女孩给人一种无忧无虑、天然开朗的感觉,什么事情都不放在心上,那种出人意料的开朗总是能排除旁人心中的迷茫。但是无铁炮女孩也经常做出一些蠢事而不自知,让人无可奈何、哭笑不得,因此无铁炮女孩经常在动漫作品中充当“笨蛋”和“发呆役”的角色。而一旦无铁炮女孩认真或难过起来,就会给人一种非常惹人怜爱的感觉。
无铁炮一般都有可爱的虎牙,也是一种明显的萌点。但要注意无铁炮与天然呆的区别。像说《clannad》中的伊吹风子是无铁炮本人是坚决不认同的。
问题三:APH,蛋疼,野生舅舅党,中二病,无铁炮是什么意思? 反义词是“蛋腚”。俗语有云: 不要鸡冻, 要蛋定一般的含义是指因为太过无聊而做出的种种不合常理的事情,也代指无聊的状态,如“闲得蛋疼”。现在做的所有不合常理的事情都可以叫“蛋疼”。 舅舅党大多是形容新闻媒体的舅舅党的具体含义是指:那些没有事实根据就胡乱散播谣言的人,说通俗点就是指那些爱胡编乱造,爱胡乱猜测并散播谣言的人,听见风就是雨的那些人中二病(又称初二症)是伊集院光在广播节目《伊集院光 深夜的马鹿力》中提出,比喻日本青春期的少年过于自以为是等特别言行的俗语。 无铁炮并不像字面的意思那样是什么兵器之类的,无铁炮是日文,意思是鲁莽、不顾前后、不考虑后果的意思,多用这个词来形容人的性格。无铁炮指超元气的性格,平时活力四射,不知疲倦,性格开朗到大条甚至发傻的地步。
问题四:九⑨玖是什么意思 ⑨是无铁炮的意思,别称笨蛋,关键词元气,天然
源于日文汉字的直接搬运,本为“鲁莽冒失行事不计后果”之意,与武器之类毫无关系,这个词在二次元中作为萌属性的一种指特指那些精力充沛,神经大条经常做出惊人之举的冒失鬼,笨蛋。拥有这种没心没肺属性的人物一般都是负责活跃气氛,搞笑的,常常是被吐槽的重点对象。
代表角色有《日常》里的相生子,《天降之物F》里的阿斯特莱雅,等等。
至于为什么九是无铁炮的代称,是因为琪露诺:(高人气同人系列游戏《东方project》的主要人物。住在红魔馆四周的湖的冰之妖精,能力可以让小东西瞬间结冰,在妖精当中算是很强的。 身材很矮,穿蓝色的衣服,背后有冰之羽翼。)神主在红魔乡中介绍她时已经说她有点笨笨的了,加上之后在ZUN放出东方花映冢的介绍图时,在图中把琪露诺放在了⑨的位置上,对于这位⑨号人物又用笨蛋二字带过,从此⑨及笨蛋就成为她的别名了。
除此之外,据说只会数到9,但超过9时(例如:1+9=?时),她都会回答9,所以⑨=バカ(笨蛋)
基本上就是这样吧,一定要加精啊,前半部分打字好辛苦~
问题五:胜手押忍是什么意思(已经更新,麻烦注音) かんべん 1 勘弁ふがいない 不甲斐いむちゃ 1 茶すなお 1 素直しかた 0 仕方よけい 0 余ちちおや 0 父 查看原帖>>
问题六:网络上“舅舅党”是什么意思 5分 舅舅党大多是形容新闻媒体的
舅舅党的具体含义是指:那些没有事实根据就胡乱散播谣言的人,说通俗点就是指那些爱胡编乱造,爱胡乱猜测并散播谣言的人,听见风就是雨的那些人
舅舅党的名词来源
在魔兽世界燃烧的远征(一款知名的美国网络游戏)中国服务器版本还未登陆之前,由于进度比海外甚至台服都延迟半年,所以在NGA网站(艾泽拉斯国家地理,魔兽世界最大的中文官方Fansite网站)上各种传言四起,其中最著名的是自称自己的舅舅是九城(魔兽世界中国大陆代理商)工作人员,并散播一些未经官方证实的关于燃烧远征的消息。
问题七:除了软萌傲娇还有什么词语 高冷蠢萌、逗比大神、腹黑女王、贫乳病娇、元气受、绅士攻、中二、萌萌正太咳咳,今天没吃药,感觉自己萌萌哒!
问题八:二次元里的一些词语比如抖M之类的 中二 萌 萝莉 怪蜀黍 傲娇 伪娘 御姐 腐女 后宫 OTAKU 腹黑 吐槽 天然呆 黑长直 素人 BL男同 GL女同 BG男女恋 CP 短发控 崩坏 FFF团 游戏控 口癖 胖次 壁咚 颜文字 残念 捏它 病娇 黑化 乙女 杀必死 现充 电波 毒舌 呆毛 BGM CV CAST COSPLAY OP ED OVA OST galgame yooooooooo sama 本命 耽美 抖S 弱气娘 兽耳 帅不过三秒 泡面番 脑洞 搞基 直男 面基 红红火火恍恍惚惚 猎奇 高冷 高能 废萌 触 暴走 正太 王道 up主 QAQ 23333333 orz 便当 恶趣味 赛高 幼驯染 实妹 元气娘 无铁炮 冷娇 修罗场 欧巴桑/欧巴 欧吉桑/欧吉 女性向 男性向 兵器娘 眼镜娘 碉堡 痛车 哔―― 阿姨洗铁路 NTR 总攻 鬼畜攻 腹黑攻 玩具攻 王样攻 无邪气攻 强气攻 好人攻 年下攻 年上攻 美人攻 乙女攻 伪受 女王受 下克上 总受 强气受 健气受
问题九:动漫术语的问题 npc就是指一些电脑角色 比如网游中的店铺主人之类
在动漫中泛指一些可以被轻易解决的对手 只是龙套角色 称为npc
耽美现在泛指男同性恋 男同性恋=bl(boys‘ love)=玻璃(bl)=断袖之癖(可以百度 有古典的)其他的可以去这里看baikebaidu/view/754
御宅族=okuto吧 貌似是这样写的
问题十:什么是“萌属性”? 头部:猫耳(兽耳)、形状特别的帽子、大大的蝴蝶结等 发式:呆毛、马尾辫、双马尾、卷发、短发、刘海、长发、姬发式 发色:金发、黑发、银发、炎发、蓝发、绿发、粉发 眼睛:片目(单眼)、双色瞳、眼镜、眯眼、丹凤眼等 表征:长身、白化、泪痣 表情:虎牙犬齿(八重齿)、猫嘴 肢体:长腿、雌雄同体 补充:面部:面瘫属性(代表人物:柿神)
编辑本段性格特点
1、傲娇
平常说话带刺态度强硬高傲,但在一定的条件下害臊地黏腻在身边。 代表人物:御坂美琴,流・明日香・兰格雷,钉宫四萌,中野梓,神崎・H・亚利亚,翠星石, 镜, 春奈,牧濑红莉栖,战场原黑仪,月咏歌呗,真红,维多利加
2、天然呆
看起来傻乎乎有点反应迟钝。知识或举止多少偏离一般常识的范围,但本人对此毫无自觉或没有察觉。 代表人物:春日步,平泽唯,司, Kaito,古河渚,贞德・达尔克,花户小鸠,天野莓,雏莓,金丝雀, 梅比斯
,3、女王
真红
很有气势,能够独当一面,成熟强势,有一定的能力凌驾于所有人之上的人。 代表人物:CC,saber,真红,艾露莎・舒卡勒托,维多利加
4、冒失娘
经常行事笨拙、“大错不出,小错不断”,总是搞出呆呆笨笨事情的少女。非天然的,有些甚至是自己本身能力问题。 代表人物: 司,平泽唯,神尾观铃,高良美幸,金丝雀 (注:冒失娘≠天然呆,请注意区分)
5、三无
沉默寡言,缺乏面部表情,难以被窥知心理的内心封闭的年青女 子。三无即无口、无心、无表情。 优库里伍德
代表人物:绫波丽,星野琉璃,长门有希,阎魔爱,立华奏,优克里伍德,雷姬,尤尼(被控时期),春日野穹,祈 呗音uta,蔷薇水晶
6、元气娘
表现活泼,精力充沛,精神良好的美丽年轻的女孩子。 代表人物: 栉枝实乃梨,田井中律,乌贼娘,立花,樱田纪,草笛美子
7、电波女
兴致一来,做事可以轻松达到比预想还好的成果,但有时又会突然陷入郁郁寡欢的情境当中,常让人觉得很不可思议,也不知道内心在想什么。 翠星石
代表人物:藤和艾莉欧,花岛溯
8、腹黑
看上去像小白一样很天真,但是实际骨子里是黑的,又或者自己黑掉别人自己却天然的没发现。 代表人物:夜神月,山田葵,初春饰利,夏尔・法多姆海恩,翠星石,藤彦,鲁鲁修,不二周助,琴吹,guu,镜音Rin,御狐神双炽
9、毒舌
苍星石
总是用很少的话来吐槽某事或某人。 代表人物:藤林杏,红叶知弦,汐王寺茉莉花 战场原黑仪,弗兰
10、仆娘
使用男性常用的仆(ボク)作为第一人称代词的女性 代表人物:苍星石,国广一,月宫亚由,
11、弱气娘
气场不强、温婉柔弱、惹人怜爱而内心往往很坚强的少女。 代表人物:古河渚,藤林椋,日向雏田,苍星石
12、病娇
狭义上指那些对异性持有好感处于娇羞的状态下产生精神疾病的患者所表现出来的性格特征,广义上则指在处于精神疾病的状态下与他人发展出感情的人所表现出来的性格特征。 代表人物:桂言叶,椎名真冬,龙宫礼奈,右代宫真里亚,星伽白雪,阿洛伊斯・托兰西,水银灯,我妻由乃
13、无铁炮
超元气的性格,平时活力四射,不知疲倦,性格开朗到大条甚至发傻的地步。 代表人物:栉枝实乃梨,田井中律 (注:无铁炮≠元气,请注意区分)
14、无存在感
身为主人公却没有什么存在感,像个路人似的,本身没有什么亮点,而且频频被抢戏,让人不相信她就是主角。>>呵呵,这个问题有意思。 仔细想想,是本地环境和服务器环境的区别。你的脚本是存放在本地的,当你执行第一句的时候,已经转化为服务器的一个中断,享用的是服务器的环境。是看不到你本地的脚本的。
一下代码仅作参考 swing界面使用NetBeans生成的
ClientViewjava见附件
Clientjava
package baiduzhidao;import javaioDataInputStream;
import javaioDataOutputStream;
import javaioIOException;
import javanetSocket;
public class Client {
private ClientView clientView;
private Socket socket;
private DataInputStream dis;
private DataOutputStream dos;
public Client() {
clientView = new ClientView(this);
clientViewsetVisible(true);
}
public ClientView getClientView() {
return clientView;
}
public void setClientView(ClientView clientView) {
thisclientView = clientView;
}
public static void main(String[] args) {
new Client();
}
public Socket getSocket() {
return socket;
}
public void setSocket(Socket socket) {
thissocket = socket;
}
/
连接服务器
@return 成功返回true 否则返回false
/
public boolean connectServer() {
try {
socket = new Socket("127001", 8853);
dis = new DataInputStream(socketgetInputStream());
dos = new DataOutputStream(socketgetOutputStream());
} catch (IOException e) {
eprintStackTrace();
return false;
}
return true;
}
/
从服务端读取消息
@return 成功返回对应的字符串 否则返回null
/
public String getMessage() {
String result;
try {
result = disreadUTF();
} catch (IOException e) {
eprintStackTrace();
return null;
}
return result;
}
/
发送消息到服务端
@param message
@return
/
public boolean sendMessage(String message) {
try {
doswriteUTF(message);
} catch (IOException e) {
eprintStackTrace();
return false;
}
return true;
}
/
把字符串解码成学生类
@param s
@return
/
public Student deCode(String s) {
String[] ss = ssplit(",");
Student student = new Student(IntegerparseInt(ss[0]), ss[1], IntegerparseInt(ss[2]), ss[3], ss[4]);
return student;
}
}
Serverjava
package baiduzhidao;import javaioDataInputStream;
import javaioDataOutputStream;
import javaioIOException;
import javanetServerSocket;
import javanetSocket;
import javautilCollection;
import javautilHashMap;
import javautilIterator;
import javautilMap;
public class Server {
private int port;
private String ip;
private ServerSocket serverSocket;
private Socket socket;
private DataInputStream dis;
private DataOutputStream dos;
private Map<Integer, Student> studentMap;
/
下一个新学生的学号
/
private static int nextId = 101;
public Server(int port) throws IOException {
thisport = port;
serverSocket = new ServerSocket(port);
studentMap = new HashMap<>();
studentMapput(101, new Student(101, "吴冰", 25, "男", "04软件3班"));
studentMapput(102, new Student(102, "曾小梅", 21, "女", "01软件4班"));
studentMapput(103, new Student(103, "廖蒋龙", 22, "男", "01软件1班"));
studentMapput(104, new Student(104, "李世强", 24, "男", "04软件2班"));
studentMapput(105, new Student(105, "曹鹏", 20, "男", "01软件2班"));
studentMapput(106, new Student(106, "卢刚", 23, "男", "01软件3班"));
studentMapput(107, new Student(107, "吴伟坚", 20, "男", "04软件3班"));
nextId += studentMapsize();
}
public int getPort() {
return port;
}
public void setPort(int port) {
thisport = port;
}
public String getIp() {
return ip;
}
public void setIp(String ip) {
thisip = ip;
}
public ServerSocket getServerSocket() {
return serverSocket;
}
public void setServerSocket(ServerSocket serverSocket) {
thisserverSocket = serverSocket;
}
public Map<Integer, Student> getStudentMap() {
return studentMap;
}
public void setStudentMap(Map<Integer, Student> studentMap) {
thisstudentMap = studentMap;
}
public Socket getSocket() {
return socket;
}
public void setSocket(Socket socket) {
thissocket = socket;
}
public DataInputStream getDis() {
return dis;
}
public void setDis(DataInputStream dis) {
thisdis = dis;
}
public DataOutputStream getDos() {
return dos;
}
public void setDos(DataOutputStream dos) {
thisdos = dos;
}
public Socket accept() throws IOException {
socket = serverSocketaccept();
Systemoutprintln("客户端" + socketgetRemoteSocketAddress() + "连接上来了");
dis = new DataInputStream(socketgetInputStream());
dos = new DataOutputStream(socketgetOutputStream());
return socket;
}
public String readUTF() throws IOException {
return disreadUTF();
}
public boolean sendMessage(String message) {
try {
doswriteUTF(message);
} catch (IOException e) {
eprintStackTrace();
return false;
}
return true;
}
public static void main(String[] args) {
Server server;
try {
server = new Server(8853);
serveraccept();
String message = "";
while (!messageequals("quit")) {
try {
message = serverreadUTF();
Systemoutprintln(message);
} catch (IOException e) {
serverclose();
// eprintStackTrace();
Systemoutprintln("接收客户端命令时出错,客户端可能已经关闭");
break;
}
serverdoCommond(message);
}
} catch (IOException e) {
eprintStackTrace();
Systemexit(-1);
}
}
public void close() {
try {
if (dis != null) {
disclose();
}
if (dos != null) {
dosclose();
}
if (socket != null) {
socketclose();
}
if (serverSocket != null) {
serverSocketclose();
}
} catch (IOException e) {
eprintStackTrace();
}
}
/
服务端与客户端的交互处理方法
@param message
@return
/
public boolean doCommond(String message) {
if (messagestartsWith("getAll")) {
/
查询所有学生
/
String result = "";
Collection<Student> students = studentMapvalues();
Iterator<Student> studentIte = studentsiterator();
while (studentItehasNext()) {
result += studentItenext()coding();
}
return sendMessage("true:" + result);
} else if (messagestartsWith("getStu:id=")) {
/
按学号查找
/
int id;
try {
id = IntegerparseInt(messagesubstring(10));
} catch (NumberFormatException e) {
sendMessage("false:参数不合法");
eprintStackTrace();
return false;
}
Student student = studentMapget(id);
if (student == null) {
sendMessage("false:不存在此学生");
return false;
} else {
sendMessage("true:" + studentcoding());
}
return true;
} else if (messagestartsWith("addStu:{")) {
/
添加学生信息
/
String stuMessage = messagesubstring(messageindexOf("{")+1, messageindexOf("}"));
Student student = deCode(stuMessage);
studentsetId(nextId);
nextId++;
studentMapput(studentgetId(), student);
String result = "";
Collection<Student> students = studentMapvalues();
Iterator<Student> studentIte = studentsiterator();
while (studentItehasNext()) {
result += studentItenext()coding();
}
return sendMessage("true:" + result);
} else if (messagestartsWith("updateStu:{")) {
/
更新学生信息
/
String stuMessage = messagesubstring(messageindexOf("{") + 1, messageindexOf("}"));
Student student = deCode(stuMessage);
if (studentMapget(studentgetId()) == null) {
sendMessage("false:不存在该学号");
return false;
}
studentMapput(studentgetId(), student);
sendMessage("true");
return true;
} else {
Systemoutprintln("没有对应的命令");
return false;
}
}
/
把字符串解码生学生类
@param s
@return
/
public Student deCode(String s) {
String[] ss = ssplit(",");
Student student = new Student(IntegerparseInt(ss[0]), ss[1], IntegerparseInt(ss[2]), ss[3], ss[4]);
return student;
}
}
class Student {
private int id;
private String name;
private int age;
private String sex;
private String className;
public Student(int id, String name, int age, String sex, String className) {
super();
thisid = id;
thisname = name;
thisage = age;
thissex = sex;
thisclassName = className;
}
public int getId() {
return id;
}
public void setId(int id) {
thisid = id;
}
public String getName() {
return name;
}
public void setName(String name) {
thisname = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
thisage = age;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
thissex = sex;
}
public String getClassName() {
return className;
}
public void setClassName(String className) {
thisclassName = className;
}
@Override
public String toString() {
return "{" + id + "," + name + "," + age + "," + sex + "," + className + "}";
}
/
编码方式
@return
/
public String coding() {
return "{" + id + "," + name + "," + age + "," + sex + "," + className + "}";
}
}//server
public class TestNIOSocketServer{
// 通道管理器
private Selector selector;
public void initServer(int port) throws Exception{
// 获得一个ServerSocket通道
ServerSocketChannel serverChannel=ServerSocketChannelopen();
// 设置通道为 非阻塞
serverChannelconfigureBlocking(false);
// 将该通道对于的serverSocket绑定到port端口
serverChannelsocket()bind(new InetSocketAddress(port));
// 获得一耳光通道管理器
thisselector=Selectoropen();
// 将通道管理器和该通道绑定,并为该通道注册selectionKeyOP_ACCEPT事件
// 注册该事件后,当事件到达的时候,selectorselect()会返回,
// 如果事件没有到达selectorselect()会一直阻塞
serverChannelregister(selector,SelectionKeyOP_ACCEPT);
}
// 采用轮训的方式监听selector上是否有需要处理的事件,如果有,进行处理
public void listen() throws Exception{
Systemoutprintln("start server");
// 轮询访问selector
while(true){
// 当注册事件到达时,方法返回,否则该方法会一直阻塞
selectorselect();
// 获得selector中选中的相的迭代器,选中的相为注册的事件
Iterator ite=thisselectorselectedKeys()iterator();
while(itehasNext()){
SelectionKey key=(SelectionKey)itenext();
// 删除已选的key 以防重负处理
iteremove();
// 客户端请求连接事件
if(keyisAcceptable()){
ServerSocketChannel server=(ServerSocketChannel)keychannel();
// 获得和客户端连接的通道
SocketChannel channel=serveraccept();
// 设置成非阻塞
channelconfigureBlocking(false);
// 在这里可以发送消息给客户端
channelwrite(ByteBufferwrap(new String("hello client")getBytes()));
// 在客户端 连接成功之后,为了可以接收到客户端的信息,需要给通道设置读的权限
channelregister(thisselector,SelectionKeyOP_READ);
// 获得了可读的事件
//sentCommond(channel,"你好,世界");
}else if(keyisReadable()){
read(key);
}
Threadsleep(1000);
}
}
}
public void sentCommond(SocketChannel channel,String commond) throws IOException{
Charset charset = CharsetforName("UTF-8");
channelwrite(charsetencode(commond)asReadOnlyBuffer());
channelregister(thisselector,SelectionKeyOP_READ);
}
// 处理 读取客户端发来的信息事件
private void read(SelectionKey key) throws Exception{
// 服务器可读消息,得到事件发生的socket通道
SocketChannel channel=(SocketChannel)keychannel();
// 穿件读取的缓冲区
ByteBuffer buffer=ByteBufferallocate(1024);
channelread(buffer);
byte[] data=bufferarray();
String msg=new String(data)trim();
Systemoutprintln("server receive from client: "+msg);
ByteBuffer outBuffer=ByteBufferwrap("hello client"getBytes());
channelwrite(outBuffer);
}
public static void main(String[] args) throws Throwable{
TestNIOSocketServer server=new TestNIOSocketServer();
serverinitServer(8989);
serverlisten();
}
}
//client
public class TestNIOSocketClient{
// 通道管理器
private Selector selector;
/
// 获得一个Socket通道,并对该通道做一些初始化的工作 @param ip 连接的服务器的ip // @param port 连接的服务器的端口号 @throws IOException
/
public void initClient(String ip,int port) throws IOException{ // 获得一个Socket通道
SocketChannel channel=SocketChannelopen(); // 设置通道为非阻塞
channelconfigureBlocking(false); // 获得一个通道管理器
thisselector=Selectoropen(); // 客户端连接服务器,其实方法执行并没有实现连接,需要在listen()方法中调
// 用channelfinishConnect();才能完成连接
channelconnect(new InetSocketAddress(ip,port));
// 将通道管理器和该通道绑定,并为该通道注册SelectionKeyOP_CONNECT事件。
channelregister(selector,SelectionKeyOP_CONNECT);
}
/
// 采用轮询的方式监听selector上是否有需要处理的事件,如果有,则进行处理 @throws // IOException
@throws Exception
/
@SuppressWarnings("unchecked")
public void listen() throws Exception{ // 轮询访问selector
while(true){
// 选择一组可以进行I/O *** 作的事件,放在selector中,客户端的该方法不会阻塞,
// 这里和服务端的方法不一样,查看api注释可以知道,当至少一个通道被选中时,
// selector的wakeup方法被调用,方法返回,而对于客户端来说,通道一直是被选中的
selectorselect(); // 获得selector中选中的项的迭代器
Iterator ite=thisselectorselectedKeys()iterator();
while(itehasNext()){
SelectionKey key=(SelectionKey)itenext(); // 删除已选的key,以防重复处理
iteremove(); // 连接事件发生
if(keyisConnectable()){
SocketChannel channel=(SocketChannel)keychannel(); // 如果正在连接,则完成连接
if(channelisConnectionPending()){
channelfinishConnect();
} // 设置成非阻塞
channelconfigureBlocking(false);
// 在这里可以给服务端发送信息哦
channelwrite(ByteBufferwrap(new String("hello server!")getBytes()));
// 在和服务端连接成功之后,为了可以接收到服务端的信息,需要给通道设置读的权限。
channelregister(thisselector,SelectionKeyOP_READ); // 获得了可读的事件
}else if(keyisReadable()){
read(key);
}
}
}
}
private void read(SelectionKey key) throws Exception{
SocketChannel channel=(SocketChannel)keychannel();
// 穿件读取的缓冲区
ByteBuffer buffer=ByteBufferallocate(1024);
channelread(buffer);
byte[] data=bufferarray();
String msg=new String(data)trim();
Systemoutprintln("client receive msg from server:"+msg);
ByteBuffer outBuffer=ByteBufferwrap("hello server"getBytes());
channelwrite(outBuffer);
}
/
// 启动客户端测试 @throws IOException
@throws Exception
/
public static void main(String[] args) throws Exception{
TestNIOSocketClient client=new TestNIOSocketClient();
clientinitClient("localhost",8989);
clientlisten();
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)