发送到node.js套接字时数据会丢失

时间:2015-01-20 06:00:12

标签: ios node.js sockets

我正在从我的ios客户端发送图像。以下是代码:

- (void)sendmsg{
    UIImage *image = [UIImage imageNamed:@"dsa.png"];
    NSData *data = UIImagePNGRepresentation(image);
   [outputstream write:[data bytes] maxLength:[data length]];
}
下面的

是我的服务器端代码:

var net = require('net');
var server = net.createServer();
server.on('connection',function(socket){
        console.log('get connection.');
        socket.on('data',function(data){
                console.log(data.length);
            });
    });
server.listen(8125);

我检查了双方的数据大小,但我得到了不同的结果。

在客户端,我得到的是:

2015-01-19 23:50:01.083 NetWordDemo[1794:172737] 468644

在服务器端,有时我得到了:

65536
65536
65536
65536
65536
65536
65536
9892

这是真的。但有时我得到了:

65328
65536
65536
65536
65536
65536
65536
10100

甚至:

48996
65536
65536
65536
65536
32300

这真烦人!!我知道如果我将行数据编码成字符串并将字符串插入到json对象中会更糟。

任何人都知道为什么?我已经提出了一个分隔符方法来处理“数据拆分”,但数据甚至不足以拆分。为什么会有一些丢失?!

0 个答案:

没有答案