TCP İstemci
Sunucu uygulamasının serverAddress adresine sahip bir makine üzerinde çalıştığını ve serverPort kapısında bekleme yaptığını düşünelim. (Eğer her iki uygulamada aynı sunucu üzerinde çalışacaksa "localhost" harf dizini adres olarak kullanılabilir.) Sunucu ile temasa geçebilmek için istemci öncelikle sunucu adresi( serverAddress) ve sunucu kapısı (serverPort) belirleyerek aşağıda gösterildiği şekilde bir soket oluşturmalıdır:
Socket clientSocket = new Socket(serverAddress, serverPort);
Sunucu gelen bağlantı istemini kabul ederse, yukarıdaki ifade, üzerinden iletilerin gönderilip alınacağı bir Socket elemanı geri döndürür. İleti gönderebilmek ve alabilmek için Socket sınıfı tarafından sağlanan Stream arayüzü kullanılabilir. Sockete eklenmiş bu akımlar şu şekilde elde edilebilir:
InputStream fromServer = clientSocket.getInputStream();
OutputStream toServer = clientSocket.getOutputStream();
İhtiyaç duyulursa bu akımlar bazı süzgeç akımlarıyla sarımlanabilir. Örneğin eğer sadece tek satırlık bir metin iletisi iletilecek ve alınacaksa bu akımlar BufferedReader/DataOutputStream içine aşağıda gösterildiği şekilde sarımlanabilir:
BufferedReader fromServer = new BufferedReader(new
   InputStreamReader(clientSocket.getInputStream()));
DataOutputStream toServer = new DataOutputStream(
   clientSocket.getOutputStream);
Çıktı akımına ait writeBytes() yöntemi aşağıdaki gibi bir istem belirtir harf dizimini sunucuya göndermek için kullanılabilir:
String request = "hello world!";
toServer.writeBytes(request + "\n");
Not: Yukarıdaki ifadede yer alan yeni satır karakteri (\n) istem iletisinin sonunu belirtmek amacıyla kullanılmıştır. TCP iletişim kuralları byte akımlı dağıtım hizmeti sağladığından iletinin sınırları korunmaz. Bu sebeple gönderimi başarılı iletileri tanımlamak için bu tip özel işaretleyicilere ihtiyaç duyulabilir.
Sunucudan gelen yanıt fromServer akımının readLine() metodu kullanılarak şu şekilde alınabilir:
String response = fromServer.readLine();
Not: Bu yöntem çağrısı sunucudan bir yeni satır karakteri alınana kadar engelleme yapar.
İşlem bittiğinde soket aşağıdaki şekilde kapatılabilir:
clientSocket.close();