文档章节

随便聊聊游戏服务器

东方先生
 东方先生
发布于 2017/06/20 09:49
字数 349
阅读 16
收藏 0
点赞 0
评论 0

    游戏服务器到底是什么?这个问题一直不太好回答。是游戏业务处理?还是游戏的数据分享?还是其他。

    估计每个做过游戏服务器的技术都会有自己的见解。

    今天就一个java新手制作服务器的过程谁便聊聊。为什么使用java?因为我一直用java写服务器啊2333

     既然开始做服务器,那首先就要联网啊。自己写socket,使用框架?我们今天以MINA开始吧。最简单的方式。虽然MINA已经好多年不更新了。

     MINA最新的版本2.0.16

    

import java.io.IOException;
import java.net.InetSocketAddress;

import org.apache.mina.core.filterchain.DefaultIoFilterChainBuilder;
import org.apache.mina.transport.socket.nio.NioSocketAcceptor;

public class Server {
public static void main(String[] args) throws IOException {
	   NioSocketAcceptor acceptor = new NioSocketAcceptor();
       //获得过滤器
	   DefaultIoFilterChainBuilder chain = acceptor.getFilterChain();
       //设置Io处理handler
	   acceptor.setHandler(new IoHandler());
	   //绑定7788端口
	   acceptor.bind(new InetSocketAddress(7788));
}
}

最简版的服务器启动,并未加入编解码器

import org.apache.mina.core.service.IoHandlerAdapter;
import org.apache.mina.core.session.IdleStatus;
import org.apache.mina.core.session.IoSession;

public class IoHandler extends IoHandlerAdapter{
	/**
	 * 收到网络消息
	 */
	@Override
	public void messageReceived(IoSession session, Object message) throws Exception {
		super.messageReceived(session, message);
	}
	/**
	 * 网络关闭
	 */
	@Override
	public void sessionClosed(IoSession session) throws Exception {
		// TODO Auto-generated method stub
		super.sessionClosed(session);
	}
	/**
	 * 网络创建
	 */
	@Override
	public void sessionCreated(IoSession session) throws Exception {
		// TODO Auto-generated method stub
		super.sessionCreated(session);
	}
	/**
	 * 网络闲置
	 */
	@Override
	public void sessionIdle(IoSession session, IdleStatus status) throws Exception {
		// TODO Auto-generated method stub
		super.sessionIdle(session, status);
	}
	/**
	 * 网络开启
	 */
	@Override
	public void sessionOpened(IoSession session) throws Exception {
		// TODO Auto-generated method stub
		super.sessionOpened(session);
	}

	
	
}

最简版的 

© 著作权归作者所有

共有 人打赏支持
东方先生

东方先生

粉丝 0
博文 3
码字总数 904
作品 0
技术主管
怎么看待领导叫你到办公室“随便聊聊”?

切记,在职场就没有“随便聊聊”这回事。 领导闲的没事干,找你聊闲篇,想把自己200多斤的大外甥女介绍给你,可能吗? 他吃饱了啊…… 放心吧,不会的。 不管形式看着多么随意,都一定有目的...

明哥聊求职
06/22
0
0
java系的同学能分享一下你们公司中不错的小工具吗

随便聊聊,你们公司有什么让你眼前一亮的小工具吗,代码量不大但是让你觉得很实用的东西

Vek_lip
01/09
74
0
游戏服务器中的日志处理方式之一

在游戏开发的过程中,我们需要记录一些日志,以便以后了解游戏运行的情况,以及根据日志发现并处理游戏中的突发情况。 一,游戏日志可以分为以下几种: 1)系统日志 2)用户操作日志 3)异常日志...

shezjl
2015/07/05
0
0
网吧是否可以尝试部分电脑不装操作系统

嚼舌头:现在操作系统都可以装在移动硬盘和U盘里了,随便插到哪台机器都可以进入自己的桌面使用。现在的各个大学,中小学的机房还在延续从前的习惯,给每台机器装上系统以及比较常用的软件。...

goofegg
2009/08/05
0
0
棋牌游戏发展那么好,为什么你做不起来?

  同城游和艾瑞联合发布的《地方棋牌游戏行业白皮书》显示:2016年中国地方特色棋牌游戏市场规模总计38.4亿RMB,地方特色棋牌游戏用户规模移动端1.57亿略高于PC端1.55亿。调研显示,2017年棋牌...

H5棋牌游戏开发
2017/12/20
0
0
各类程序猿的端午节假期安排,你躺枪了没?

端午节小长假,除了吃粽子 纪念屈原 你还打算做些什么呢? 今天就为大家总结一下各类程序猿的端午节安排吧!快看看自己躺枪没? 普通程序员 上午睡一个懒觉用来补充这个周前几天因为加班所丢...

两味真火
2017/05/30
1K
6
浅谈全区全服架构的SNS游戏后台

版权声明:本文由梁本志原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/198 来源:腾云阁 https://www.qcloud.com/community 首先说下分区分服和全区全...

偶素浅小浅
2016/11/11
3
0
nginx 负载均衡分配

本节就聊聊采用Nginx负载均衡之后碰到的问题: Session问题 文件上传下载 通常解决服务器负载问题,都会通过多服务器分载来解决。常见的解决方案有: 网站入口通过分站链接负载(天空软件站,...

大陆大陆
2015/12/05
18
0
nginx 负载均衡分配

本节就聊聊采用Nginx负载均衡之后碰到的问题: Session问题 文件上传下载 通常解决服务器负载问题,都会通过多服务器分载来解决。常见的解决方案有: 网站入口通过分站链接负载(天空软件站,...

大陆大陆
2015/12/05
185
0
关于 Redis 的闲扯

刚换工作不久,这段时间主要的工作就是开发 Nodejs,用了很多 redis。随便聊聊 Redis 一些使用经验,如果有不妥或者错误之处,欢迎指正。 Redis 自身的特色: 所有操作均为原子操作,即不可分...

modernizr
2014/04/08
453
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

代码生成利器:IDEA 强大的 Live Templates

代码生成利器:IDEA 强大的 Live Templates

qwfys
25分钟前
1
0
spring boot使用通用mapper(tk.mapper) ,id自增和回显等问题

最近项目使用到tk.mapper设置id自增,数据库是mysql。在使用通用mapper主键生成过程中有一些问题,在总结一下。 1、UUID生成方式-字符串主键 在主键上增加注解 @Id @GeneratedValue...

北岩
29分钟前
1
0
告警系统邮件引擎、运行告警系统

告警系统邮件引擎 cd mail vim mail.py #!/usr/bin/env python#-*- coding: UTF-8 -*-import os,sysreload(sys)sys.setdefaultencoding('utf8')import getoptimport smtplibfr......

Zhouliang6
31分钟前
0
0
日常运维--rsync同步工具

rsync命令是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件。rsync使用所谓的“rsync算法”来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而...

chencheng-linux
36分钟前
1
0
Java工具类—随机数

Java中常用的生成随机数有Math.random()方法及java.util.Random类.但他们生成的随机数都是伪随机的. Math.radom()方法 在jdk1.8的Math类中可以看到,Math.random()方法实际上就是调用Random类...

PrivateO2
48分钟前
1
0
关于java内存模型、并发编程的好文

Java并发编程:volatile关键字解析    volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在...

DannyCoder
昨天
0
0
dubbo @Reference retries 重试次数 一个坑

在代码一中设置 成retries=0,也就是调用超时不用重试,结果DEBUG的时候总是重试,不是0吗,0就不用重试啊。为什么还是调用了多次呢? 结果在网上看到 这篇文章才明白 https://www.cnblogs....

奋斗的小牛
昨天
1
0
数据结构与算法3

要抓紧喽~~~~~~~放羊的孩纸回来喽 LowArray类和LowArrayApp类 程序将一个普通的Java数组封装在LowArray类中。类中的数组隐藏了起来,它是私有的,所以只有类自己的方法才能访问他。 LowArray...

沉迷于编程的小菜菜
昨天
0
0
spring boot应用测试框架介绍

一、spring boot应用测试存在的问题 官方提供的测试框架spring-boot-test-starter,虽然提供了很多功能(junit、spring test、assertj、hamcrest、mockito、jsonassert、jsonpath),但是在数...

yangjianzhou
昨天
1
0
rsync工具介绍/rsync通过ssh同步

rsync工具介绍 数据备份是必不可少,在Linux系统下数据备份的工具很多,其中重点介绍就是rsync工具,rsync不仅可以远程同步数据,还可以本地同步数据,且不会覆盖以前的数据在已经存在的数据...

Hi_Yolks
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部