>  기사  >  백엔드 개발  >  php socket 如何实现一个标准的writeInt

php socket 如何实现一个标准的writeInt

WBOY
WBOY원래의
2016-06-06 20:14:301032검색

就是像java里一样。
主要我的目的是和java的对接
java这边要read:

<code>DataInputStream stream = new DataInputStream(new BufferedInputStream(socket.getInputStream()));
int l =  stream.readInt();
</code>

另外求下writeString或writeUTF
最后麻烦下,java端如果用 stream.readFully ,PHP端怎么办

回复内容:

就是像java里一样。
主要我的目的是和java的对接
java这边要read:

<code>DataInputStream stream = new DataInputStream(new BufferedInputStream(socket.getInputStream()));
int l =  stream.readInt();
</code>

另外求下writeString或writeUTF
最后麻烦下,java端如果用 stream.readFully ,PHP端怎么办

先使用pack将需要传输的转换为二进制格式,在通过socket_write发送即可。

可以简单模拟成

<code>function writeInt($socket, $i)
{
    $data = pack('N', $i); // N 表示32位大端字节序
    socket_write($socket, $data);
}</code>
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.