Sample code for 30+ languages & platforms
Java

Socket Send and Receive BinData

Demonstrates the Chilkat Socket ReceiveBdN and SendBd methods.

Chilkat Java Downloads

Chilkat2 Java
import com.chilkatsoft.chilkat2.BinData;
import com.chilkatsoft.chilkat2.ChilkatException;
import com.chilkatsoft.chilkat2.Socket;

public class ChilkatExample {

    public static void main(String[] args) {
        // This example requires the Chilkat API to have been previously unlocked.
        // See Global Unlock Sample for sample code.

        Socket sock = new Socket();

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

        boolean useTls = false;
        int port = 4242;
        int maxWaitMs = 5000;
        try {
            sock.connect("tcpbin.com", port, useTls, maxWaitMs);
        } catch (ChilkatException e) {
            System.out.println(e.getLastErrorText());
            return;
        }

        // Wait a max of 2 seconds for a response..
        sock.setMaxReadIdleMs(2000);

        // Send 26 bytes contained in a Chilkat BinData
        BinData bdToSend = new BinData();
        int i = 0;
        int byteVal = 65;
        while (i < 26) {
            bdToSend.appendByte(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, 0, 0);

        // The tcpbin.com echo server only echoes after receiving an LF (linefeed char)
        sock.sendByte(10);

        // The echo server will echo back whatever is sent to it.
        // We should be able to read the same bytes back..
        BinData bdRecv = new BinData();
        // Receive the 26 bytes previously sent, plus the LF char.
        try {
            sock.receiveBdN(27, bdRecv);
        } catch (ChilkatException e) {
            System.out.println(e.getLastErrorText());
            return;
        }

        // Show the contents of bdRecv in hex format
        System.out.println(bdRecv.getEncoded("hex"));

        // Output:  4142434445464748494A4B4C4D4E4F505152535455565758595A0A
    }
}