KEMBAR78
python programming | PPTX
P R E S E N T E D B Y
A . K E E R T H I K A
M . S C ( I T )
NADAR SARAWATHI COLLEGE
OF ARTS AND SCIENCE
SHARING DATA USING SOCKET
 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.
They are the real backbones behind web browsing. In
simpler terms, there is a server and a client.
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.
Now we can connect to a server using this socket.3
Connecting to a server
Note that if any error occurs during the creation of a
socket then a socket. error is thrown and we can only
connect to a server by knowing its IP. You can find the IP
of the server by using this :
$ ping www.google.comYou can also find the IP using
python:
import socket ip =
socket.gethostbyname('www.google.com') print ipHere is
an example of a script for connecting to Google.
 # An example script to connect to Google using socket
 # programming in Python
 import socket # for socket
 import sys

 try:
 s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
 print ("Socket successfully created")
 except socket.error as err:
 print ("socket creation failed with error %s" %(err))

 # default port for socket
 port = 80

 try:
 host_ip = socket.gethostbyname('www.google.com')
 except socket.gaierror:

 # this means could not resolve the host
 print ("there was an error resolving the host")
 sys.exit()

 # connecting to the server
 s.connect((host_ip, port))

 print ("the socket has successfully connected to google")
 Output :
 Socket successfully created the socket has successfully connected to google on port == 173.194.40.19
Server
A server has a bind() method which binds it to a
specific IP and port so that it can listen to incoming
requests on that IP and port. A server has a listen()
method which puts the server into listening mode.
This allows the server to listen to incoming
connections. And last a server has an accept() and
close() method. The accept method initiates a
connection with the client and the close method
closes the connection with the client.
 # first of all import the socket library
 import socket

 # next create a socket object
 s = socket.socket()
 print ("Socket successfully created")

 # reserve a port on your computer in our
 # case it is 12345 but it can be anything
 port = 12345

 # Next bind to the port
 # we have not typed any ip in the ip field
 # instead we have inputted an empty string
 # this makes the server listen to requests
 # coming from other computers on the network
 s.bind(('', port))
 print ("socket binded to %s" %(port))

 # put the socket into listening mode
 s.listen(5)
 print ("socket is listening")

 # a forever loop until we interrupt it or
 # an error occurs
 while True:

 # Establish connection with client.
 c, addr = s.accept()
 print ('Got connection from', addr )

 # send a thank you message to the client. encoding to send byte type.
 c.send('Thank you for connecting'.encode())

 # Close the connection with the client
 c.close()

 # Breaking once connection closed
 break
 First of all, we import socket which is necessary.
 Then we made a socket object and res
 # first of all import the socket library
 import socket

 # next create a socket object
 s = ()
 print ("Socksocket.socketet successfully created")

 # reserve a port on your computer in our
 # case it is 12345 but it can be anything
 port = 12345

 # Next bind to the port
 # we have not typed any ip in the ip field
 # instead we have inputted an empty string
 # this makes the server listen to requests
 # coming from other computers on the network
 s.bind(('', port))
 print ("socket binded to %s" %(port))

 # put the socket into listening mode
 s.listen(5)
 print ("socket is listening")

 # a forever loop until we interrupt it or
 # an error occurs
 while True:

 # Establish connection with client.
 c, addr = s.accept()
 print ('Got connection from', addr )

 # send a thank you message to the client. encoding to send byte type.
 c.send('Thank you for connecting'.encode())

 # Close the connection with the client
 c.close()


Client
Now we need something with which a server can interact. We
could tenet to the server like this just to know that our server
is working. Type these commands in the terminal:
# start the server $ python server.py # keep the above
terminal open # now open another terminal and type: $
telnet localhost 12345If ‘telnet’ is not recognized. On windows
search windows features and turn on the “telnet client”
feature.
Output :
# in the server.py terminal you will see # this output:
Socket successfully created socket binded to 12345 socket is
listening Got connection from ('127.0.0.1', 52617)# In the
telnet terminal you will get this:
python programming

python programming

  • 1.
    P R ES E N T E D B Y A . K E E R T H I K A M . S C ( I T ) NADAR SARAWATHI COLLEGE OF ARTS AND SCIENCE
  • 2.
    SHARING DATA USINGSOCKET  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. They are the real backbones behind web browsing. In simpler terms, there is a server and a client. Socket programming is started by importing the socket library and making a simple socket.
  • 3.
     import sockets = 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. Now we can connect to a server using this socket.3
  • 4.
    Connecting to aserver Note that if any error occurs during the creation of a socket then a socket. error is thrown and we can only connect to a server by knowing its IP. You can find the IP of the server by using this : $ ping www.google.comYou can also find the IP using python: import socket ip = socket.gethostbyname('www.google.com') print ipHere is an example of a script for connecting to Google.
  • 5.
     # Anexample script to connect to Google using socket  # programming in Python  import socket # for socket  import sys   try:  s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)  print ("Socket successfully created")  except socket.error as err:  print ("socket creation failed with error %s" %(err))   # default port for socket  port = 80   try:  host_ip = socket.gethostbyname('www.google.com')  except socket.gaierror:   # this means could not resolve the host  print ("there was an error resolving the host")  sys.exit()   # connecting to the server  s.connect((host_ip, port))   print ("the socket has successfully connected to google")  Output :  Socket successfully created the socket has successfully connected to google on port == 173.194.40.19
  • 6.
    Server A server hasa bind() method which binds it to a specific IP and port so that it can listen to incoming requests on that IP and port. A server has a listen() method which puts the server into listening mode. This allows the server to listen to incoming connections. And last a server has an accept() and close() method. The accept method initiates a connection with the client and the close method closes the connection with the client.
  • 7.
     # firstof all import the socket library  import socket   # next create a socket object  s = socket.socket()  print ("Socket successfully created")   # reserve a port on your computer in our  # case it is 12345 but it can be anything  port = 12345   # Next bind to the port  # we have not typed any ip in the ip field  # instead we have inputted an empty string  # this makes the server listen to requests  # coming from other computers on the network  s.bind(('', port))  print ("socket binded to %s" %(port))   # put the socket into listening mode  s.listen(5)  print ("socket is listening")   # a forever loop until we interrupt it or  # an error occurs  while True:   # Establish connection with client.  c, addr = s.accept()  print ('Got connection from', addr )   # send a thank you message to the client. encoding to send byte type.  c.send('Thank you for connecting'.encode())   # Close the connection with the client  c.close()   # Breaking once connection closed  break  First of all, we import socket which is necessary.  Then we made a socket object and res
  • 8.
     # firstof all import the socket library  import socket   # next create a socket object  s = ()  print ("Socksocket.socketet successfully created")   # reserve a port on your computer in our  # case it is 12345 but it can be anything  port = 12345   # Next bind to the port  # we have not typed any ip in the ip field  # instead we have inputted an empty string  # this makes the server listen to requests  # coming from other computers on the network  s.bind(('', port))  print ("socket binded to %s" %(port))   # put the socket into listening mode  s.listen(5)  print ("socket is listening")   # a forever loop until we interrupt it or  # an error occurs  while True:   # Establish connection with client.  c, addr = s.accept()  print ('Got connection from', addr )   # send a thank you message to the client. encoding to send byte type.  c.send('Thank you for connecting'.encode())   # Close the connection with the client  c.close()  
  • 9.
    Client Now we needsomething with which a server can interact. We could tenet to the server like this just to know that our server is working. Type these commands in the terminal: # start the server $ python server.py # keep the above terminal open # now open another terminal and type: $ telnet localhost 12345If ‘telnet’ is not recognized. On windows search windows features and turn on the “telnet client” feature. Output : # in the server.py terminal you will see # this output: Socket successfully created socket binded to 12345 socket is listening Got connection from ('127.0.0.1', 52617)# In the telnet terminal you will get this: