Sample code for 30+ languages & platforms
Objective-C

TCP Socket Send Byte and Receive Byte

Demonstrates the Chilkat Socket ReceiveByte and SendByte method.

Chilkat Objective-C Downloads

Objective-C
#import <CkoSocket.h>

BOOL success = NO;

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

CkoSocket *sock = [[CkoSocket alloc] init];

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

BOOL useTls = NO;
int port = 4242;
int maxWaitMs = 5000;
success = [sock Connect: @"tcpbin.com" port: [NSNumber numberWithInt: port] ssl: useTls maxWaitMs: [NSNumber numberWithInt: maxWaitMs]];
if (success == NO) {
    NSLog(@"%@",sock.LastErrorText);
    return;
}

//  Wait a max of 2 seconds for a response..
sock.MaxReadIdleMs = [NSNumber numberWithInt:2000];

//  Send a byte.
[sock SendByte: [NSNumber numberWithInt: 96]];

//  The tcpbin.com echo server only echoes after receiving an LF (linefeed char)
[sock SendByte: [NSNumber numberWithInt: 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.
BOOL treatAsUnsignedInt = YES;
success = [sock ReceiveByte: treatAsUnsignedInt];
if (success == NO) {
    NSLog(@"%@",sock.LastErrorText);
    return;
}

//  Let's look at the value of the byte received.  It should be 96.
NSLog(@"%d",[sock.ReceivedInt intValue]);

//  The echo server also echoed the LF back.
success = [sock ReceiveByte: treatAsUnsignedInt];
//  Assuming success..

//  Should be decimal 10.
NSLog(@"%d",[sock.ReceivedInt intValue]);