Bind() Method Of SSLSocket Class In Python

Method Name:


Method Signature:




Return Value:


Method Overview:

  • The bind() method attaches a socket(Remember, the SSLSocket is derived from the socket class) to an available IP address and a port.
  • The client programs generally do not invoke the bind() method on a socket instance. The reason is the socket will be attached to an ephemeral port when the bind() method is not called.
  • The clients, contact server programs all the times. Hence, a server socket should be attached to a specific IP address and a port number.


  • The Python program below when executed binds an SSLSocket to a specific port and IP.
  • The client program provided in the Introduction to SSLSocket, can be used to connect to this server.
  • The server responds by sending a the temperature of a city to the client.

# An example Python program that binds to an IP address and port

# using the bind() method of SSLSocket class

# and listens for incoming connections from clients. To the

# clients, it responds with the current temperature of a city.

# The temperature values are simply random values between average high and

# low values.


import ssl

import socket

import random


# File paths

pemFileName     = "./DemoCA.pem";

certFileName    = "./DemoSvr.crt";

keyFileName     = "./DemoSvr.key";


# IP address and Port number

ipAddress       = "";

portNumber      = 15001;


# Socket creation

sock = socket.socket();


# SSL context creation

ct              = ssl.SSLContext();

ct.verify_mode  = ssl.CERT_REQUIRED;


# Load the certificate of the certificate authority, with which the

# server will validate the client certificate



# Load the server certificate

ct.load_cert_chain(certfile=certFileName, keyfile=keyFileName);


# Create server socket

serverSocket    = socket.socket();


# Make an SSLSocket

secureServerSocket  = ct.wrap_socket(serverSocket,



# Bind the secure socket to a specific IP address and port number

secureServerSocket.bind((ipAddress, portNumber));


# Listen to accept connections


print("Temperature server listening for client requests:");



    (clientConnection, clientIP) = secureServerSocket.accept();

    temp = random.uniform(50, 65);

    tempStr = "Temperature in the city is %2.2f"%temp;

    encoded = tempStr.encode();


    print("Replied to %s with the temperature value %2.2f"%(clientIP, temp));



Replied to ('', 51589) with the temperature value 60.22

Replied to ('', 51592) with the temperature value 53.73



Secure communication received from server:Temperature in the city is 53.73


Copyright 2022 ©