Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Objective-C) Socket Send and Receive BinDataDemonstrates the Chilkat Socket ReceiveBdN and SendBd methods.
#import <CkoSocket.h> #import <CkoBinData.h> // 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; BOOL 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 26 bytes contained in a Chilkat BinData CkoBinData *bdToSend = [[CkoBinData alloc] init]; int i = 0; int byteVal = 65; while (i < 26) { [bdToSend AppendByte: [NSNumber numberWithInt: byteVal]]; byteVal = byteVal + 1; i = i + 1; } // Send the contents of the BinData // Pass zero's in the 2nd and 3rd arguments to send the entire contents of the BinData. [sock SendBd: bdToSend offset: 0 numBytes: 0]; // 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 bytes back.. CkoBinData *bdRecv = [[CkoBinData alloc] init]; // Receive the 26 bytes previously sent, plus the LF char. success = [sock ReceiveBdN: 27 binData: bdRecv]; if (success == NO) { NSLog(@"%@",sock.LastErrorText); return; } // Show the contents of bdRecv in hex format NSLog(@"%@",[bdRecv GetEncoded: @"hex"]); // Output: 4142434445464748494A4B4C4D4E4F505152535455565758595A0A |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.