先贴代码,网上找的。
现在问题是,client端是用纯c编写的socket,发送的数据是放在一个buf里的,我在接收的时候如何转换啊,就是data的内容,感觉现在是默认为字符串了吧。
var net = require('net');
var HOST = '127.0.0.1';
var PORT = 4545;
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);
    });    // 为这个socket实例添加一个"close"事件处理函数
    sock.on('close', function(data) {
        console.log('CLOSED: ' +
            sock.remoteAddress + ' ' + sock.remotePort);
    });}).listen(PORT, HOST);console.log('Server listening on ' + HOST + ':' + PORT);

解决方案 »

  1.   

    刚接触这个啊,小白一个- -,就发了几个数字,有int的,有float的,原来是用c#的socket,直接用BitConverter.ToInt32之类的,根据不同类型的字节数转的- -,用node.js这样的,还要根据编码来转么?
      

  2.   

    Emitted when data is received. The argument data will be a Buffer or String. Encoding of data is set by socket.setEncoding(). (See the Readable Stream section for more information.)你可以把这些buffer放在一个数组里面,接收完了之后一起处理