Android RTC&ProjectRTC実装分析(一)
4602 ワード
AndroidRTC & ProjectRTC
Android RTCコンパイル
ProjectRTCインストール
サーバ側のプロセス
Android webRTC , webRTC RTC
git https://github.com/pchab/AndroidRTC
AndroidRTC android client ProjectRTC
ProjectRTC https://github.com/pchab/ProjectRTC
:
AndroidRTC client ProjectRTC server
clients server
,client PeerConnection connection
Android RTCコンパイル
git clone , AndroidStudio
webRTC , ,
Gradle AndroidStudio Gradle apk
ProjectRTCインストール
git clone node.js node.js
npm install
node app.js
127.0.0.1:3000
shell Express server listening on port 3000
サーバ側のプロセス
ProjectRTC app.js
js
app
├── [root 814] routes.js
├── [root 928] socketHandler.js
└── [root 853] streams.js
app.js route.js
socketHandler.js sokcet.io
stream.js server
Express , ,route.js stream.js
socketHandler.js
socketHandler.js:
module.exports = function(io, streams) {
io.on('connection', function(client) {
console.log('-- ' + client.id + ' joined --');
client.emit('id', client.id);
client.on('message', function (details) {
var otherClient = io.sockets.connected[details.to];
if (!otherClient) {
return;
}
delete details.to;
details.from = client.id;
otherClient.emit('message', details);
});
client.on('readyToStream', function(options) {
console.log('-- ' + client.id + ' is ready to stream --');
streams.addStream(client.id, options.name);
});
client.on('update', function(options) {
streams.update(client.id, options.name);
});
function leave() {
console.log('-- ' + client.id + ' left --');
streams.removeStream(client.id);
}
client.on('disconnect', leave);
client.on('leave', leave);
});
io.on : nodejs socket.io connect socket.io socket.io
socket.io server id message client
message
client server client
(json ) to from