Socket programming is a way of connecting two nodes on a network to communicate with each other. One socket(node) listens on a particular port at an IP, while the other socket reaches out to the other to form a connection. The server forms the listener socket while the client reaches out to the server.
Socket programming is started by importing the socket library and making a simple socket.Â
Â
import socket s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
Here we made a socket instance and passed it two parameters. The first parameter is AF_INET and the second one is SOCK_STREAM. AF_INET refers to the address family ipv4. The SOCK_STREAM means connection-oriented TCP protocol.
Note: For more information, refer to Socket Programming in Python
Now we can connect to a server using Server:
A Server is a program that provides service to other computers on the network or Internet. Similarly, a client is a program that receives services from the server. When a server wants to communicate with a client, there is a need for a socket. A socket is a point of connection between the server and the client.
TCP/IP server program that sends message to the client.Â
Â
Python3
import socket  # take the server name and port namehost = 'local host'port = 5000  # create a socket at server side# using TCP / IP protocols = socket.socket(socket.AF_INET,                  socket.SOCK_STREAM)  # bind the socket with server# and port numbers.bind(('', port))  # allow maximum 1 connection to# the sockets.listen(1)  # wait till a client accept# connectionc, addr = s.accept()  # display client addressprint("CONNECTION FROM:", str(addr))  # send message to the client after# encoding into binary stringc.send(b"HELLO, How are you ? \       Welcome to Akash hacking World")Â
msg = "Bye.............."c.send(msg.encode())Â Â # disconnect the serverc.close() |
TCP/IP server program that receive message from server.Â
Â
Python3
import socket  # take the server name and port name  host = 'local host'port = 5000  # create a socket at client side# using TCP / IP protocols = socket.socket(socket.AF_INET,                  socket.SOCK_STREAM)  # connect it to server and port# number on local computer.s.connect(('127.0.0.1', port))  # receive message string from# server, at a time 1024 Bmsg = s.recv(1024)  # repeat as long as message# string are not emptywhile msg:    print('Received:' + msg.decode())    msg = s.recv(1024)Â
# disconnect the clients.close() |
Note: Open In Two Separate DOS Windows And First Execute server, then Execute client.
Output of Server:
Â
Output of Client:Â
Â
Â

