ソケット PHP UDP ソケット書き込み()
最近のプロジェクトでは php ソケット通信を使用する必要があり、これを TCP でクライアントからサーバーに正常に送信でき、サーバーもクライアントに情報を返すことができます。 。......これまでにやったことがありませんか?
理解できません。上記のエラー メッセージは、接続がないか、アドレスが間違っていることを意味します。
php
set_time_limit( 0 );
echo "SOCKT...n を作成"
if ( $socket === false ) {
e cho "socket_create() が失敗しました:reason:" .socket_strerror(socket_last_error($socket) ) . "n"; }
echo "SOCKT...n"; , '192.168.1.59' , 8686);
if ( $ok === false ) {
echo "socket_bind() failed:reason:" .ソケット_strerror(ソケット_last_error( $socket ) );
else
{
echo "SOCKT バインディングが成功しました。 ..n";
$count = 0;
$msg = "サーバーからクライアントへ! ! n"; strlen ($msg),0,'192.168.1.59',1207);
echo "テストは成功しました"
// $port=0; 1024 ,$form,$port);
echo "テストは成功しました";
$talkback = "メッセージを受信しました: $buf1;
echo $talkback; true);
Socket_Close ($ Socket); HO " SOCKT を作成します...n";
$socket = ソケット作成に失敗しました ("ソケットの作成に失敗しました"); 192.168.1.59', 1207);
if(! Socket_connect Endto ($ Socket, $ Str, $arrayLen, 0, '192.168.1.59',8686);
echo "情報がサーバーに正常に送信されました。 n";
echo "送信されたコンテンツは次のとおりです:$str
";
$form ="";
$port1=0;
ソケット_recvfrom($ソケット,$buf,1024,0,$form,$port1);
echo $form;
echo "情報が正常に返されました。 ".$buf;
echo "
";
echo "Close SOCKET...n";
ソケット_close($socket);
echo "Close OKn";
?>
ヘルプ見てみましょう
// ここのコメントも削除する必要があります。まだ実行していません。サーバーは受信できますが、クライアントは受信できません。サーバーから返された情報が返されない可能性があります
サーバー側で listen および accept がないのはなぜですか?
接続がありません...非常に混乱しています
それは TCP ではなく UDP であるためです。 。 。
connectはクライアント側で追加されます。 。 。
そして、socket_recvfromとsocket_sendtoに続いてアドレスを使用します。したがって、ここで connect を追加する必要はありません。クライアント上の connect は、socket_write とsocket_read をテストするときに使用したものです
ええと、UDP です。 。 。
もう一度見てみます
クライアントはどこに接続されていても受信できるはずです。ポートを分ける理由はありません
クライアントがバインドする必要はありませんね。
まあ、束縛する必要はありません。 。いろいろなテストをするしかありません。クライアント BIND は以前にバインドされていなかったため、ここでは効果がありません。
BIND を削除しても同じ結果が表示されました
udp の使用をやめてください。 tcp は標準で推奨される方法です。 UDP は多くのソフトウェアでサポートされていません。
curl は udp をサポートする可能性があります
これは非常に単純な UDP の例です
http://www.zrwm.com/?p=1281
UDP も使いたくないのですが、TCP テストは成功しました。プロジェクトには UDP を使用する必要があります。
送信したリンクからコードを取得してくれた snmr_com に感謝します。修正したところ、うまくいきました。