Objective-C
Objective-C
TCP Socket Send Byte and Receive Byte
Demonstrates the Chilkat Socket ReceiveByte and SendByte method.Chilkat Objective-C Downloads
#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]);