NodeJS Socket通信

最近有一部分东西涉及到网络通信,导师推荐用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,一直不上手,突然有这个需求,开始看文档,需求才是动力。

时间: 2024-10-11 21:57:19

NodeJS Socket通信的相关文章

TCP及socket通信原理

一.网络互联模型 因特网在刚面世时,只有同一制造商生产的计算机才能彼此通信,制定网络互联模型的目的就是为异种的计算机互连提供一个共同的基础和标准框架,并为保持相关标准的一致性和兼容性提供共同的参考. 互联参考模型: OSI七层模型(Open System Interconnect):应用层.表示层.会话层.传输层.网络层.数据链路层.物理层 DoD四层模型:是OSI七层模型的浓缩版,包括 进程/应用层.主机到主机层.因特网层.网络接入层 以上两种模型是层次型的,分层模型的优点主要在于: ①将网络

java socket通信-传输文件图片--传输图片

ClientTcpSend.java   客户端发送类 package com.yjf.test; import java.io.DataOutputStream; import java.io.File; import java.io.FileInputStream; import java.net.InetSocketAddress; import java.net.Socket; public class ClientTcpSend { public static String clien

c# socket通信较完善方案

c#的socket通信应用.文件较多.附件为工程.  core AbstractBytesWorker.cs    字节工作器(基类),用于用于同一不同功能的字节工作器 BinaryHand.cs  2进制处理器.  ThDispose.cs 处理回收相关 crc  entity ThPersonInfo.cs manager ThSocketManager.cs  ThSocketManagerBusiness.cs 所有的业务 request RequestCode.cs  请求码 ThPr

深入浅出讲解:php的socket通信

深入浅出讲解:php的socket通信 对TCP/IP.UDP.Socket编程这些词你不会很陌生吧?随着网络技术的发展,这些词充斥着我们的耳朵.那么我想问: 1.         什么是TCP/IP.UDP?2.         Socket在哪里呢?3.         Socket是什么呢?4.         你会使用它们吗? 什么是TCP/IP.UDP? TCP/IP(Transmission Control Protocol/Internet Protocol)即传输控制协议/网间协

Android简单Socket通信demo

一.Android Socket 通信简介 Android与服务器的通信方式主要有两种,一是Http通信,一是Socket通信.两者的最大差异在于,http连接使用的是“请求—响应方式”,即在请求时建立连接通道,当客户端向服务器发送请求后,服务器端才能向客户端返回数据.而Socket通信则是在双方建立起连接后就可以直接进行数据的传输,在连接时可实现信息的主动推送,而不需要每次由客户端想服务器发送请求. 那么,什么是socket?Socket又称套接字,在程序内部提供了与外界通信的端口,即端口通信

php的socket通信

对TCP/IP.UDP.Socket编程这些词你不会很陌生吧?随着网络技术的发展,这些词充斥着我们的耳朵.那么我想问: 1.         什么是TCP/IP.UDP?2.         Socket在哪里呢?3.         Socket是什么呢?4.         你会使用它们吗? 什么是TCP/IP.UDP? TCP/IP(Transmission Control Protocol/Internet Protocol)即传输控制协议/网间协议,是一个工业标准的协议集,它是为广域网

Socket通信(转)

一.Socket通信简介 Android与服务器的通信方式主要有两种,一是Http通信,一是Socket通信.两者的最大差异在于,http连接使用的是“请求—响应方式”,即在请求时建立连接通道,当客户端向服务器发送请求后,服务器端才能向客户端返回数据.而Socket通信则是在双方建立起连接后就可以直接进行数据的传输,在连接时可实现信息的主动推送,而不需要每次由客户端想服务器发送请求. 那么,什么是socket?Socket又称套接字,在程序内部提供了与外界通信的端口,即端口通信.通过建立sock

基于Java NIO的Socket通信

Java NIO模式的Socket通信,是一种同步非阻塞IO设计模式,它为Reactor模式实现提供了基础. 下面看看,Java实现的一个服务端和客户端通信的例子. NIO模式的基本原理描述如下: 服务端打开一个通道(ServerSocketChannel),并向通道中注册一个选择器(Selector),这个选择器是与一些感兴趣的操作的标识(SelectionKey,即通过这个标识可以定位到具体的操作,从而进行响应的处理)相关联的,然后基于选择器(Selector)轮询通道(ServerSock

Socket通信

1:ServerSocket. 构造方法:ServerSocket(int port) : 创建一个绑定端口号的服务器 accept();监听并且接受Socket,并且返回一个Socket通信包. 2:Socket. 构造方法:Socket(String host,int port); 字节流: getOutputStream(); 输出流方法 (outputStream类) getInputStream();输入流方法 字符流: PrintWriter pw = new printWriter