PHP と Yii でソケットを使用しています。次のフィールドを持つフォームがあります。
ip
port
message
フォームを送信すると、次のソケット プログラミング コードを含むアクションが呼び出され、パケットが正常に送信されます。
$socket = socket_create( AF_INET, SOCK_STREAM, getprotobyname('tcp') );
socket_connect( $socket, $address, $port );
$status = socket_sendto( $socket, $message, $len, 0, $address, $port );
if( $status !== FALSE ) {
$next = '';
while( $next = socket_read( $socket, 1000 ) ) {
$response .= $next;
if( strpos( $response, "\n" ) !== false )
break;
}
} else {
$response = "Failed";
}
socket_close( $socket );
問題は、異なるpacket/messageでフォームを送信するたびに、新しい接続/ソケットが作成されてから、パケット/メッセージが送信されることです。ソケットを一度だけ作成し、同じソケットのフォームを使用してメッセージ/パケットを送信したい。出来ますか?