码迷,mamicode.com
首页 > Web开发 > 详细

NodeJS Socket通信

时间:2014-12-16 22:33:27      阅读:1156      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   ar   io   color   os   使用   sp   

最近有一部分东西涉及到网络通信,导师推荐用C语言,自己之前也接触过。不过突然想到了NodeJS,试用了下,果然NodeJS大法好。

NodeJS的中文版API看这里:http://nodeapi.ucdok.com/#/api/

 

Socket通信使用Net模块。

首先,写服务端部分:

    var net = require(‘net‘);

    //create tcp server.
    var server = net.createServer(function(socket) {
        socket.write(‘hello client!‘);
    });    

    //set listen port.
    server.listen(1337, function() {
        console.log(‘server listened on port 1337...\r\n‘);
    });

require net模块,然后创建server,设置监听端口。这样就开启了服务器。

我们还在创建服务器的回调函数里写了一条信息。

 

然后创建客户端:

    var net = require(‘net‘);

    var client = net.connect({ 
        port: 1337,
        host: ‘localhost‘
    }, function() {
        client.write(‘hello server!‘); 
    });

    client.on(‘data‘, function(data) {
       console.log(data.toString());
    });

同样包含net模块,创建客户端,在回调函数里也写了一条信息。

监听data事件,接收服务端的信息。

 

先运行服务端后,在运行客户端,客户端就会输出hello client!。

那么服务端如何接收客户端的信息呢?

 

我们需要让server监听 connection事件

    server.on(‘connection‘, function(client) {
        client.name = client.remoteAddress + ‘:‘ + client.remotePort;

        terminal.on(‘data‘, function(data) {
            console.log(‘data from ‘ + client.name + ‘:‘ + data.toString())
        });
    });

每当有客户端连接上的时候,查看来源并且打印相应的信息。

 

实现通信就是这么简单,NodeJS封装的很好了,具体再查API文档即可,在通信中需要将信息从数据库读取或者写入数据库,如果使用MySQL,

推荐node-mysql,这篇博文不错:http://blog.fens.me/nodejs-mysql-intro/

 

其实之前看过node,一直不上手,突然有这个需求,开始看文档,需求才是动力。

 

NodeJS Socket通信

标签:style   blog   http   ar   io   color   os   使用   sp   

原文地址:http://www.cnblogs.com/zjzhome/p/4168047.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!