大家好,我是二哥呀!今天给大家分享一个基于Netty的IDEA即时聊天插件,可以实现即时聊天、游戏对战(下棋)。

GitHub 地址:https://github.com/anlingyi/xechat-idea

安装体验

打开 Intellij IDEA,依次 Preference > Plugins > 设置按钮 > Manage Plugin Repositories... 添加 XEChat-Idea 插件库。

地址:http://plugins.xeblog.cn

之后搜索关键字「xechat」安装插件。

重启 Intellij IDEA 后在右下角找到 xechat 面板。

功能介绍

第一次打开后,会提示对应命令。

输入 #login 沉默王二 就可以登录了。 之后就可以把天聊起来了。

使用复制粘贴还可以发送图片,虽然体验比较迟钝,延迟比较高,但真的是又不是不能用

开始游戏

输入 #showGame 可以查看支持的游戏,目前支持五子棋、斗地主两种游戏。

输入 #play 0 开启五子棋启动面板。

卧槽,第一局竟然输了!

我太菜了,要怪只能怪作者设置的这个棋盘设置得太小了,竟然布局不能调整,哼。

呵呵呵,果不其然,放大以后再来一盘,稳稳赢了。

嘿嘿,果然爽。

部署服务端

直接在 Intellij IDEA 中运行 xechat 插件的话,是共享的 xechat 的服务器,这不,竟然遇到了作者,竟然还是二哥的读者。

想要自己在本地把服务跑起来也很简单,从 GitHub 仓库把源代码拉到本地。

先进入 xechat-commons 包执行 mvn install,公共模块需优先打包。

再进入 xechat-server 包执行 mvn package 打包。

之后执行 java -jar target/xechat-server-xxx.jar -p 1024 运行服务端。

再次进入 Intellij IDEA 的 xechat 面板,输入 #login -h 127.0.0.1 -p 1024 就可以连上本地服务了。

OK,搞定。

学习源码

之前有小伙伴问我 JavaSE 部分的源码有没有推荐的,那这个 xechat 就是非常不错的选择。

我 down 到本地看了一下,代码整体来说还是非常优秀的,尤其是 Netty 部分,是非常值得参考和借鉴的。

可以直接从 main 方法开始,一路 debug 下去看一看,我觉得是一个挺不错的选择。

ending

没有什么使我停留——除了目的,纵然岸旁有玫瑰、有绿荫、有宁静的港湾,我是不系之舟

本文已收录到 GitHub 上星标 2.9k+ 的开源专栏《Java 程序员进阶之路》,据说每一个优秀的 Java 程序员都喜欢她,风趣幽默、通俗易懂。内容包括 Java 基础、Java 并发编程、Java 虚拟机、Java 企业级开发(Git、Nginx、Maven、Intellij IDEA、Spring、Spring Boot、Redis、MySql 等等)、Java 面试等核心知识点。学 Java,就认准 Java 程序员进阶之路

https://github.com/itwanger/toBeBetterJavaer

star 了这个仓库就等于你拥有了成为了一名优秀 Java 工程师的潜力。

在 IDEA 里下个五子棋不过分吧?的更多相关文章

  1. Facebook在代码里下毒,百度身受重伤。。。

    白首相知犹按剑     前两天看到有朋友分享说,WordPress停用了react.今天,在逛知乎时看到了另一个问题别细看这图,我赌你看不懂... 嗯...用人话来说就是百度内部要求他们的程序猿不要再 ...

  2. Ubuntu 16.04或14.04里下安装搜狗输入法(图文详解)(全网最简单)

    不多说,直接上干货! 其实啊,很简单 分三步走 1.添加fcitx的键盘输入法系统,因为sogou是基于fcitx的,而系统默认的是iBus: 2.安装sogou输入法: 3.设置系统参数及一些注意点 ...

  3. IDEA项目目录里下找不到src,但是src确实存在的的解决方案

    写代码的时候可能出现写着写着src就找不到了,我个人认为是触发了热键导致src被隐藏了,下面就是设置src可见和不可见的操作 这个其实是被隐藏了,打开就好,位置如下:

  4. ietester下ie6.0停止工作问题的修复

    工作时经常用到ie6.0来测试兼容性,不得不吐槽下ie6.0的过分老旧,页面编写完成后,最痛苦的莫过于在ie6.0下测试兼容性. 今天满怀基情的打算开始了一天的工作,却在刚要开始之初,被同事的iete ...

  5. 五子棋 AI(AIpha-beta算法)

    博弈树 下过五子棋的人都应该知道,越厉害的人,对棋面的预测程度越深.换句话讲,就是当你下完一步棋,我就能在我的脑海里假设把我所有可能下的地方都下一遍,然后考虑我下完之后你又会下在哪里,最后我根据每次预 ...

  6. 手把手教你轻松实现listview下拉刷新

    很多人觉得自定义一个listview下拉刷新上拉加载更多是一件很牛x的事情,不是大神写不出来,我想大多数童鞋都是做项目用到时就百度,什么pulltorefresh,xlistview...也不看原理, ...

  7. 代码实现Android5.0的下拉刷新效果

    如图所示,实现类似与gmail的下拉刷新. 项目地址:https://github.com/stormzhang/SwipeRefreshLayoutDemo 一.在xml文件中定义 这个控件在sup ...

  8. (原) ubuntu下用pycharm2016.1专业版配docker编译环境(docker Interpreter)

    一:先创建docker-machine 先创建docker machine.我主机上的虚拟机是virtualbox.$ docker-machine create --driver virtualbo ...

  9. Nginx下配置codeigniter框架

    原来在winserver+Apache环境下工作良好的一个微信公众号后台迁移到阿里云(环境:Ubuntu 64位 | PHP5.4 | Nginx1.6)下却频出 404,403,只能访问CI rou ...

随机推荐

  1. 2.SSH协议常见问题排错

    一.SSH登录linux服务器密码验证很慢 现象:ssh登录服务器后,输入密码时,验证要等10秒左右,很慢.登录上去后速度正常,这种情况主要有两种可能的原因: 1. DNS反向解析的问题 OpenSS ...

  2. GitHub 桌面版 v3.0 新特性「GitHub 热点速览」

    新版本一般意味着更强的功能特性,比如 GitHub Desktop v3.0.虽然未发布新版本,但本周收录的 7 个开源项目颇有"新版"味.比如,破解(恢复)密码能力 Max 的 ...

  3. 『现学现忘』Git基础 — 24、Git中查看历史版本记录

    目录 1.查看详细的历史版本记录 2.简化显示历史版本记录 3.历史版本记录常用操作 (1)指定查看最近几次提交的内容 (2)以简单图形的方式查看分支版本历史 (3)翻页与退出 4.查看分支相关的版本 ...

  4. JSON数据传输大法第一式——用OADate处理日期格式

    JSON作为一种轻量级的数据交换格式,通常采用完全独立于编程语言的文本格式来存储和表示数据.它的层次结构简洁清晰,易于人们的阅读和编写,此外机器编写和生成也会变得容易,可以有效地提升网络传输效率,这些 ...

  5. vision transformer

    VIT 总览 Step1 Step2

  6. resttemplate 请求方式详解

    get 普通请求: restemplate.getForEntity(url,String.class).getBody(); get 导出请求: restemplate.getForEntity(u ...

  7. electron vue

    vue create project vue add vue-cli-plugin-electron-builder node_modules\@vue\cli-service\lib\config\ ...

  8. 1.2 操作系统的第二个功能——并发功能 -《zobolの操作系统学习札记》

    1.2 操作系统的第二个功能--并发功能 目录 1.2 操作系统的第二个功能--并发功能 问1:什么是并发功能?并发功能是必要的吗? 问2:并发功能必须要求拥有多核CPU吗? 问3:多核CPU和单核C ...

  9. dotnet 使用 Crossgen2 对 DLL 进行 ReadyToRun 提升启动性能

    我对几个应用进行严格的启动性能评估,对比了在 .NET Framework 和 dotnet 6 下的应用启动性能,非常符合预期的可以看到,在用户的设备上,经过了 NGen 之后的 .NET Fram ...

  10. Django-使用nginx部署

    本地部署 uWSGI 在部署之前,我们得先了解几个概念 wsgi web应用程序之间的接口.它的作用就像是桥梁,连接在web服务器和web应用框架之间. uwsgi 是一种传输协议,用于定义传输信息的 ...