Sample code for 30+ languages & platforms
Lua

TCP Socket Send Byte and Receive Byte

Demonstrates the Chilkat Socket ReceiveByte and SendByte method.

Chilkat Lua Downloads

Lua
local chilkat = require("chilkat")

-- This example requires the Chilkat API to have been previously unlocked.
-- See Global Unlock Sample for sample code.

local sock = chilkat.Socket.new()

-- --------------------------------------------------------------------
-- This example uses the public TCP echo service at https://tcpbin.com/
-- --------------------------------------------------------------------

local useTls = false
local port = 4242
local maxWaitMs = 5000
local success = sock:connect("tcpbin.com", port, useTls, maxWaitMs)
if not success then
    print(sock.last_error_text)
    return
end

-- Wait a max of 2 seconds for a response..
sock.max_read_idle_ms = 2000

-- Send a byte.
sock:send_byte(96)

-- The tcpbin.com echo server only echoes after receiving an LF (linefeed char)
sock:send_byte(10)

-- The echo server will echo back whatever is sent to it.
-- We should be able to read the same byte back..
-- After successfully reading, the byte value is available in the ReceivedInt property.
local treatAsUnsignedInt = true
success = sock:receive_byte(treatAsUnsignedInt)
if not success then
    print(sock.last_error_text)
    return
end

-- Let's look at the value of the byte received.  It should be 96.
print(sock.received_int)

-- The echo server also echoed the LF back.
success = sock:receive_byte(treatAsUnsignedInt)
-- Assuming success..

-- Should be decimal 10.
print(sock.received_int)