nodejs游戏服务器开发(一)—socket连接

随着nodejs的火热,计算机的发展,使得游戏服务器也开始转向解释语言了,而有些人喜欢用c++/Lua开发服务器,我也曾如此做过。后来,随着网易开源的pomole游戏服务器框架,go语言的出现,nodejs已经开始在游戏服务器端火起来了!少说无聊的。

    由于我是在外面已经购买有一台服务器,所以我的环境是直接布署到上面的!具体怎么布置,我就不多说了,我朋友的博客里有,包括pomole的都有。
     游戏服务器,都是建立在socket的,要不然就是类似于socket的协议上。而nodejs自身就支持3种连接方式
socket
http
socket.io
而我们游戏要用的就以两种为主。
我就只以tcp socket来说明吧,因为我也不打算做网页游戏,所以就不在那方面多说了!
正式代码:

var net = require('net');

 
 
var HOST = 'your ip';
var PORT = your port;
 
 
// 创建一个TCP服务器实例,调用listen函数开始监听指定端口
// 传入net.createServer()的回调函数将作为”connection“事件的处理函数
// 在每一个“connection”事件中,该回调函数接收到的socket对象是唯一的
net.createServer(function(sock) {
 
    // 我们获得一个连接 - 该连接自动关联一个socket对象
    console.log('CONNECTED: ' +
        sock.remoteAddress + ':' + sock.remotePort);
 
    // 为这个socket实例添加一个"data"事件处理函数
    sock.on('data', function(data) {
        console.log('DATA ' + sock.remoteAddress + ': ' + data);
 
        var Message = require('./Message');
        var msg = new Message(data);
        msg.parseMessage();
        // 回发该数据,客户端将收到来自服务端的数据
        sock.write('Server said "' + data + '"');
 
    });
 
    // 为这个socket实例添加一个"close"事件处理函数
    sock.on('close', function(data) {
        console.log('CLOSED: ' +
            sock.remoteAddress + ' ' + sock.remotePort);
    });
 
}).listen(PORT, HOST);
 
console.log('Server listening on ' + HOST +':'+ PORT);
 
这个是从我服务器上拿下来的一小块代码,里面实现了socket的连接,至于如何解释,全是message.js里,这个我就不共享了,反正方式都差不多,要不然就用开源的第三框架!

原文链接: https://www.cnblogs.com/conerlius/p/3196984.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

    nodejs游戏服务器开发(一)---socket连接

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/96210

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月10日 上午3:34
下一篇 2023年2月10日 上午3:34

相关推荐