我正在从我的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对象中会更糟。
任何人都知道为什么?我已经提出了一个分隔符方法来处理“数据拆分”,但数据甚至不足以拆分。为什么会有一些丢失?!