#ruby #sockets #byte
#ruby #сокеты #байт
Вопрос:
Как я могу записать байт в сокет в ruby? Я конкретно имею в виду, как я могу записать что-то вроде 0x02 в сокет. Спасибо.
Ответ №1:
Одним из способов отправки значений в целых байтах было бы использование array.pack.
socket.write [0x02].pack("C")
Комментарии:
1. @mu слишком короткое: верно … это должна быть запись. Спасибо. Я думал о части упаковки, а не о том, чтобы поместить ее в проводную часть. Вызов puts (я полагаю) добавляет
n
к концу этого (в результате получается два байта).
Ответ №2:
Что-то вроде этого?
require 'socket' # Get sockets from stdlib
server = TCPServer.open(2000) # Socket to listen on port 2000
loop { # Servers run forever
client = server.accept # Wait for a client to connect
client.write("x02")
client.close # Disconnect from the client
}
Комментарии:
1.
write
илиputs
в данном случае, если он хочет записать байт в сокет.