Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux / Node.js Socket 服务端和客户端

使用node.js的net模块能很快的开发出基于TCP的服务端和客户端。直接贴代码。server.js/**
 * Created with JetBrains WebStorm.
 * User: Administrator
 * Date: 12-10-26
 * Time: 下午3:44
 * To change this template use File | Settings | File Templates.
 */var net = require("net");
var timeout = 20000;//超时
var listenPort = 7003;//监听端口var server = net.createServer(function(socket){
    // 我们获得一个连接 - 该连接自动关联一个socket对象
    console.log("connect: " +
        socket.remoteAddress + ":" + socket.remotePort);
    socket.setEncoding("binary");    //超时事件
//    socket.setTimeout(timeout,function(){
//        console.log("连接超时");
//        socket.end();
//    });    //接收到数据
    socket.on("data",function(data){        console.log("recv:" + data);    });    //数据错误事件
    socket.on("error",function(exception){
        console.log("socket error:" + exception);
        socket.end();
    });
    //客户端关闭事件
    socket.on("close",function(data){
        console.log("close: " +
            socket.remoteAddress + " " + socket.remotePort);    });
}).listen(listenPort);//服务器监听事件
server.on("listening",function(){
    console.log("server listening:" + server.address().port);
});//服务器错误事件
server.on("error",function(exception){
    console.log("server error:" + exception);
}); client.js/**
 * Created with JetBrains WebStorm.
 * User: Administrator
 * Date: 12-10-26
 * Time: 下午3:56
 * To change this template use File | Settings | File Templates.
 */var net = require("net");
var port = 7003;
var host = "127.0.0.1";var client= new net.Socket();
client.setEncoding("binary");
//连接到服务端
client.connect(port,host,function(){    client.write("hello my client");});client.on("data",function(data){
    console.log("recv data:"+ data);});
client.on("error",function(error){    console.log("error:"+error);
    client.destory();});
client.on("close",function(){    console.log("Connection closed");
});