我想写非阻塞应用程序.我使用apache2,但我正在阅读关于nginx及其在apache进程方面的优势.我正在考虑为nginx更改apache.我的问题是,是否可以使用php和nginx编写非阻塞的Web应用程序?
或者更好的想法尝试使用python,使用一些反向代理,如uwsgi或gunicorn与nginx?或者是学习nodejs的解决方案?
我正在使用本教程Multipeer Connectivity Audio Stream To Multiple Peers和这个项目Github Repository,以便从NSInputStream流式传输音频,这是通过以下方式获得的:
-(void)session:didReceiveStream:withName:fromPeer:
Run Code Online (Sandbox Code Playgroud)
MCSession委托方法.
之后,这将打开一个新的音频文件流(TDAudioFileStreamer/Classes/AudioFileStream.m:39):
OSStatus err = AudioFileStreamOpen((__bridge void *)self, TDAudioFileStreamPropertyListener, TDAudioFileStreamPacketsListener, 0, &_audioFileStreamID);
Run Code Online (Sandbox Code Playgroud)
然后从NSInputStream读取字节并尝试通过这种方式解析(TDAudioFileStreamer/Classes/AudioFileStream.m:98):
err = AudioFileStreamParseBytes(self.audioFileStreamID, length, data, kAudioFileStreamParseFlag_Discontinuity);
Run Code Online (Sandbox Code Playgroud)
要么:
err = AudioFileStreamParseBytes(self.audioFileStreamID, length, data, 0);
Run Code Online (Sandbox Code Playgroud)
取决于数据流.
最后,这个用解析后的数据填充AudioQueue Buffer以便播放(我猜--TDAudioFileStreamer/Classes/TDAudioQueueFiller.m).
这对于MP3格式文件非常有用,但在尝试解析字节时使用其他格式会出现"不支持的文件格式"错误.
Apple文档称音频文件流服务支持许多格式,它们列在此链接中:Apple Stream Services支持的格式,但对我来说只适用于MP3.
我也在尝试,当打开音频文件流传递关于这样的文件格式的提示并发送M4A或AAC文件时:
OSStatus err = AudioFileStreamOpen((__bridge void *)self, TDAudioFileStreamPropertyListener, TDAudioFileStreamPacketsListener, kAudioFileAAC_ADTSType, &_audioFileStreamID);
Run Code Online (Sandbox Code Playgroud)
其中kAudioFileAAC_ADTSType是将要流式传输的已发送文件的类型,通过这种方式,"不支持的文件格式错误"消失,但应用程序崩溃并获得新的错误

这说:io:lpc和客户:aac.
提前致谢.
objective-c audio-streaming audiotoolbox ios multipeer-connectivity
我有两个MYSQL模式,他们必须一起工作.
IE:"用户"表存在于模式"a"中,"profile"表存在于模式"b"中.
个人资料 - >有很多用户
用户 - >属于个人资料
是否可以在Sequelize js中以这种方式定义生活在不同模式中的两个模型之间的关联?
// after define the models ..
Profile.hasMany(User);
User.belongsTo(Profile);
// get the profile of the user(from the b schema)
User.find(1).success( function(user) {
console.log(user.getProfile());
});
Run Code Online (Sandbox Code Playgroud)
这会有用吗?
我应该如何定义不同模式的模型?
从一个月前开始学习Python,我发现这种语言简单实用.
我是一名Web开发人员,但我只有PHP经验,我使用过像CakePHP或Zend这样的框架.我熟悉最受欢迎的Django.但是,Django与Python 3不兼容.
有人知道支持Python 3的Python Web框架吗?我应该考虑使用纯Python,没有框架吗?如果是个好主意,我应该使用哪个网络服务器?Nginx和uwsgi或Gunicorn这样的反向代理,为什么?
我的Mac上安装了NodeJS.
$ node -v
v4.2.1
Run Code Online (Sandbox Code Playgroud)
我正在尝试安装凉亭.结果如下:
npm ERR! Darwin 15.0.0
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install" "-g" "bower"
npm ERR! node v4.2.1
npm ERR! npm v2.14.7
npm ERR! path /usr/local/lib/node_modules/bower
npm ERR! code EACCES
npm ERR! errno -13
npm ERR! syscall rmdir
npm ERR! Error: EACCES: permission denied, rmdir '/usr/local/lib/node_modules/bower'
npm ERR! at Error (native)
npm ERR! { [Error: EACCES: permission denied, rmdir '/usr/local/lib/node_modules/bower']
npm ERR! errno: -13,
npm ERR! code: 'EACCES',
npm ERR! syscall: 'rmdir',
npm ERR! path: '/usr/local/lib/node_modules/bower' …Run Code Online (Sandbox Code Playgroud) 我有一个奇怪的问题,当我在数组中推送结果时,结果不在我的数组中的正确位置(例如结果而不是在索引号1处的索引是3),当我重新运行我的模块结果在数组中随机改变位置.
var cote = function(links, callback) {
var http = require('http');
var bl = require('bl');
var coteArgus = [];
for (i = 0; i < links.length; i ++) {
http.get('http://www.website.com/' + links[i], function(response) {
response.pipe(bl(function(err, data) {
if (err) {
callback(err + " erreur");
return;
}
var data = data.toString()
newcoteArgus = data.substring(data.indexOf('<div class="tx12">') + 85, data.indexOf(';</span>') - 5);
myresult.push(newcoteArgus);
callback(myresult);
}));
});
}
};
exports.cote = cote;
Run Code Online (Sandbox Code Playgroud) postgresql downtime amazon-web-services amazon-rds autoscaling
node.js ×4
nginx ×2
python ×2
amazon-rds ×1
audiotoolbox ×1
autoscaling ×1
downtime ×1
gunicorn ×1
ios ×1
javascript ×1
macos ×1
mysql ×1
nonblocking ×1
npm ×1
objective-c ×1
php ×1
postgresql ×1
sequelize.js ×1
uwsgi ×1