Intereting Posts
mysqli auto увеличил первичный идентификатор, который был сгенерирован Количество строк в Доктрине 2 PHP – Изменение формата даты Как отправить запрос AJAX, когда пользователь уходит (закрывает) страницу? Чтобы преобразовать данные, полученные через URL-адрес, чтобы опубликовать переменные Неизвестный модификатор в регулярном выражении Добавление кнопки удаления в PHP в каждой строке таблицы MySQL Безопасные и гибкие междоменные сеансы Поиск в реальном времени внутри Laravel 5 с использованием Ajax Создание таблицы для базы данных с использованием php-скрипта, не работает? Как проверить Cookie Token против bcrypt-хэшированного токена в БД при использовании Persistent Login Cookies? Есть ли причина, по которой мне нужно использовать stripslashes для представленных пользователем данных? Подавить фиктивный PHP imap_open () Примечание: небезопасный сервер рекламируется AUTH = PLAIN Попытка проверить, существует ли имя пользователя в базе данных MySQL, используя PHP Как проверить, был ли DomDocument изменен простым и быстрым сравнением?

Преобразование байтов, полученных через php-сокет, в целое число

Я использую netty API для создания Java-сервера, который отправляет, если клиентская программа отправляет на сервер что-то вроде 5. Это целое число с 4 байтами. Я думаю, что он должен быть таким же, как писать целое число в OutputStream. Поэтому я хочу получить целое число php. Но если я вызываю socket_read, он ничего не выводит, потому что он не преобразует 4 байта в целое число. Он просто использует это как текст.

Если я отправлю char, он работает, поэтому мне нужно использовать способ php для его преобразования.

Или было бы лучше всего преобразовать все в текстовые клиенты, так что все будет основано на тексте. Я думаю, может быть, мне придется придерживаться текстового или двоичного вывода.

EDIT: Другой вопрос, связанный с этим, скажем, у меня есть 4 байта в java. Как я могу построить Integer? Должен ли я конкатцировать 4 байта?

Пример:

Байт 1: 00000000

Байт 2: 00010000

Байт 3: 00000101

Байт 4: 00000001

Результат: 00000000 00010000 00000101 00000001

Правильно ли это?

Related of "Преобразование байтов, полученных через php-сокет, в целое число"

Вероятно, вы хотите использовать функцию распаковки . Что-то вроде:

$data = socket_read($sock,4); $x = unpack("N",$data);