1

私はnettyAPIを使用して、クライアントプログラムがサーバーに5のような数値を送信した場合に送信するJavaサーバーを作成しています。これは4バイトの整数です。OutputStreamに整数を書き込むのと同じである必要があると思います。だから私は今phpで整数を受け取りたいです。しかし、socket_readを呼び出すと、4バイトが整数に変換されないため、何も出力されません。これをテキストとして使用するだけです。

charを送信すると機能するので、phpで変換する方法が必要です。

または、すべてをテキストクライアント側に変換するのが最善であるため、すべてがテキストベースになります。多分私はテキストベースまたはバイナリ出力に固執する必要があると思います。

編集:これに関連する別の質問は、Javaで4バイトあるとしましょう。どうすれば整数を作成できますか?4バイトを連結する必要がありますか?

例:

バイト1:00000000

バイト2:00010000

バイト3:00000101

バイト4:00000001

結果:00000000 00010000 00000101 00000001

これは正しいでしょうか?

4

1 に答える 1

0

おそらく、解凍機能を使用することをお勧めします。何かのようなもの:

$data = socket_read($sock,4);
$x = unpack("N",$data);
于 2013-01-24T21:39:21.507 に答える