私はソケットが初めてで、Androidフォンからphpサーバーにビデオをライブブロードキャストしたいと考えています。私が見つけた解決策は、ソケットを a のPareFileDescriptor
として使用することOutPutFile
ですMediaRecorder
。ここに私のコードがあります:
クライアント (アンドロイド):
Socket soc = new Socket("http://192.168.1.23/php/live.php",80);
ParcelFileDescriptor pfd= ParcelFileDescriptor.fromSocket(soc);
recorder.setOutputFile(pfd.getFileDescriptor());
サーバー(php)と私はphpの初心者です...:
<?php
$socket = stream_socket_server("tcp://192.168.1.5:80", $errno, $errstr);
if (!$socket) {
echo "$errstr ($errno)<br />\n";
} else {
while ($conn = stream_socket_accept($socket)) {
fwrite($conn, 'The local time is ' . date('n/j/Y g:i a') . "\n");
fclose($conn);
}
fclose($socket);
}
?>
Android側では、次のエラーが発生します:
java.net.UnknownHostException: http://192.168.1.23/php/live.php
PHP で自分のページ live.php にアクセスすると、次のようになります。
Warning: stream_socket_server() [function.stream-socket-server]: unable to connect to tcp://192.168.1.5:80 (L’adresse demandée n’est pas valide dans son contexte. ) in C:\wamp\www\php\live.php on line 4
編集1:
クライアント側を修正したので、エラーはありませんが、サーバー側にはまだ何もありません