文件名称:Mina框架实战(由浅入深,稳扎稳打)
文件大小:1.23MB
文件格式:ZIP
更新时间:2022-04-29 13:16:54
Mina Java
Mina介绍:https://blog.csdn.net/haoranhaoshi/article/details/89102597 工程内容介绍(由浅入深,稳扎稳打): test1:建立Server和Client。有Client加入,Server广播给所有Client。 test2:在控制台中Server可以给所有Client发送数据,Client可以给Sever和其他Client发送数据。 test3:(1)特定角色的Client处理消息。 (2)特定角色的Client收到消息。 Client与Server建立Session后,Server存储Client的Role和Session映射(同一个角色可映射多个Session)。角色Role在MinaClientHandler中。修改Role,启动多个Client测试。Client在控制台中Role:Message的格式给对应Role的Client发送Message。 test4:(1)Client启动时如果没有Server,就先建立Server。在test3(2)基础上修改MinaClient的session = future.getSession();即可。 (2)如果建立Server的Client离开了,让另一个Client建立Server。 (3)Client给Server发送数据,如果失败,重新发送。 test5:一个Client有一个Server。Client和其他Client的Server建立Session。 test6:如果Client连接Server失败,就只建立Server,如果Server离开,第一个检测到的Client建立Server。 一个进程中包括Server和Client,进程A和B通信,Server负责接收另一个进程的消息,Client负责发送给另一个进程消息,无需Server独立启动,或者绑定在一个进程中,保证最后离线,或者绑定在一个进程中,进程离线后绑定在其他进程中。把Client中的OWN_SERVER_PORT和ANOTHER_SERVER_PORT调换后启动另一个进程,即可测试。 test7:解决相同角色,分工不同: (1)连接建立时传角色,同一个角色,多个Client,连接时间区分Client (2)连接建立时传角色和功能ID,功能ID配置到启动参数,发消息时消息头传角色和消息ID (3)细化角色。 (4)Client发送功能ID,根据功能ID、Client_ID映射文件得到Client_ID,Client_ID配置到启动参数。 (5)连接失去时,更新角色和Session的Map。 test3.type1对应test3(1) test3.type2对应test3(2) 待做: Server不能通过控制台广播到每一个Client,ioSession.write(scanner.next());之后的代码行,会等下一次控制台输入,Enter按下后执行。 test4(2)(3)、test6、test7 已经转去Vert.x了
【文件预览】:
MinaTest
----src()
--------test1()
--------test3()
--------ReadMe.txt(2KB)
--------test2()
--------log4j.properties(402B)
--------test4()
--------test5()
----lib()
--------mina-core-2.0.7.jar(630KB)
--------log4j-1.2.17.jar(478KB)
--------slf4j-api-1.6.6.jar(26KB)
--------slf4j-log4j12-1.7.5.jar(9KB)
--------gson-2.2.2.jar(185KB)
----.idea()
--------libraries()
--------misc.xml(276B)
--------uiDesigner.xml(9KB)
--------workspace.xml(44KB)
--------modules.xml(263B)
----out()
--------production()
----MinaTest.iml(495B)