Sample code for 30+ languages & platforms
Visual FoxPro

TCP Socket Send Byte and Receive Byte

Demonstrates the Chilkat Socket ReceiveByte and SendByte method.

Chilkat Visual FoxPro Downloads

Visual FoxPro
LOCAL lnSuccess
LOCAL loSock
LOCAL lnUseTls
LOCAL lnPort
LOCAL lnMaxWaitMs
LOCAL lnTreatAsUnsignedInt

lnSuccess = 0

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

loSock = CreateObject('Chilkat.Socket')

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

lnUseTls = 0
lnPort = 4242
lnMaxWaitMs = 5000
lnSuccess = loSock.Connect("tcpbin.com",lnPort,lnUseTls,lnMaxWaitMs)
IF (lnSuccess = 0) THEN
    ? loSock.LastErrorText
    RELEASE loSock
    CANCEL
ENDIF

* Wait a max of 2 seconds for a response..
loSock.MaxReadIdleMs = 2000

* Send a byte.
loSock.SendByte(96)

* The tcpbin.com echo server only echoes after receiving an LF (linefeed char)
loSock.SendByte(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.
lnTreatAsUnsignedInt = 1
lnSuccess = loSock.ReceiveByte(lnTreatAsUnsignedInt)
IF (lnSuccess = 0) THEN
    ? loSock.LastErrorText
    RELEASE loSock
    CANCEL
ENDIF

* Let's look at the value of the byte received.  It should be 96.
? STR(loSock.ReceivedInt)

* The echo server also echoed the LF back.
lnSuccess = loSock.ReceiveByte(lnTreatAsUnsignedInt)
* Assuming success..

* Should be decimal 10.
? STR(loSock.ReceivedInt)

RELEASE loSock