Skip to main content

Python Networking Programming

Python Networking Programming
Python plays an important role in network programming. The standard library of Python has wide support for network protocols, encoding and decoding of data and other networking concepts and it is simpler to write network programs in Python than that of C++.
Here, we will learn about the essence of network programming with respect to Python. But for this programmers must need to have basic knowledge of:
  • Low-Level Programming using sockets
  • Data encoding
  • HTTP and web-programming
  • High-Level client modules
  • Basic networking terms and their concepts etc.

Python Network Services

There are two levels of network service access in Python. These are:
  • Low-Level Access
  • High-Level Access
In the first case, programmers can use and access the basic socket support for operating system using Python’s libraries and programmers can implement both connection-less and connection-oriented protocols for programming.
Application level network protocols can also be accessed using high-level access provided by Python libraries. These protocols are HTTP, FTP etc.

Defining Socket

Socket is the end-point in a flow of communication between two programs or communication channels operating over a network. They are created using a set of programming request called socket API (Application Programming Interface). Python’s socket library offers classes for handling common transports as generic interface.
Sockets use protocols for determining the connection type for port-to-port communication between client and server machines. The protocols are used for:
  • Domain Name Servers (DNS)
  • IP addressing
  • E-mail
  • FTP (File Transfer Protocol) etc…

Socket Program

Python has socket method that let programmers’ set-up different types of socket virtually. The syntax for socket method is:
Syntax:
g = socket.socket (socket_family, type_of_socket, protocol=value)
For example, if we want to establish a TCP socket, we can write the following code snippet:
Example:
#!/usr/bin/python

# imports everything from 'socket'

from socket import *

# use socket.socket() - function

tcp1
=socket.socket(socket.AF_INET, socket.SOCK_STREAM)
Here’s another example to establish UDP socket. The code is:
udp1=socket.socket (socket.AF_INET, socket.SOCK_DGRAM)
After you defined the socket, you can you can use several methods to manage the connections. Some of the important server socket methods are:
  • listen(): is used to establish and start TCP listener.
  • bind(): is used to bind address (host-name, port number) to socket.
  • accept(): is used to TCP client connection until the connection arrives.
  • connect(): is used to initiate TCP server connection.
  • send(): is used to send TCP messages.
  • recv(): is used to receive TCP messages.
  • sendto(): is used to send UDP messages
  • close(): is used to close a socket.

A Simple Network Program Using Python

Example:
#!/usr/bin/python

import socket
T_PORT
= 60
TCP_IP
= '127.0.0.1'
BUF_SIZE
= 30
# create a socket object name 'k'
k
= socket.socket (socket.AF_INET, socket.SOCK_STREAM)
k
.bind((TCP_IP, T_PORT))
k
.listen(1)
con
, addr = k.accept()
print 'Connection Address is: ' , addr
while True :
data
= con.recv(BUF_SIZE)
if not data:
break
print "Received data", data
con
.send(data)
con
.close()
Save the file with filename – tcpserver.py
This will open a web server at port 60. In the above program, everything you write in the client goes at the server.
Now a simple Python client script:
#!/usr/bin/python

import socket

T_PORT
= 5006

TCP_IP
= '127.0.0.1'

BUF_SIZE
= 1024

MSG
= "Hello karl"

# create a socket object name 'k'

k
= socket.socket (socket.AF_INET, socket.SOCK_STREAM)

k
.connect((TCP_IP, T_PORT))

k
.send(MSG)

data
= k.recv(BUF_SIZE)

k
.close
Sending messages back and forth using different basic protocols is simple and easy. This shows that programming takes a major role n client-server architecture where the client makes data request to a server and the server replies those m

Comments

For Programs Click Here

Popular posts from this blog

Python Lists

Python Lists Dealing with data in a structured format is quiet generous, and this is possible if those data are set accordingly in a specific manner. So, Python provides these data structures named ‘lists’ and ‘tuples’ that are used to organize data in  single set. Python has 6 built-in sequences and among them the most famous are “lists and tuples”. The lists are containers that hold a number of other objects in a given order. It usually puts into practice the sequence protocol and allows programmers to add or remove objects from that sequence. Each element of the sequence is assigned a number i.e. he index and the first index is 0 (zero). This versatile data-type of Python is written in a sequence of list separated by commas between expressions. Creating Lists To build a list, just put a number of expressions in square brackets. The syntax is: Syntax: lst1 = [ ] # lst1 is the name of the list lst2 = [ expression1 , …. , expression_N ] Example: #!/usr/bin/python ls...

C++ Objects and Classes

C++ Object Oriented C++ Objects and Classes In object-oriented programming languages like C++, the data and functions (procedures to manipulate the data) are bundled together as a self-contained unit called an object. A class is an extended concept similar to that of structure in C programming language; this class describes the data properties alone. In C++ programming language, class describes both the properties (data) and behaviors (functions) of objects. Classes are not objects, but they are used to instantiate objects. What is a class? A class is an abstract data type similar to ‘ C structure ‘. Class representation of objects and the sets of operations that can be applied to such objects. Class consists of Data members and methods. Primary purpose of a class is to held data/information. This is achieved with attributes which is also know as data members. The member functions determine the behavior of the class i.e. provide definition for supporting various operations on data held...

C++ Polymorphism

C++ Polymorphism The term Polymorphism get derived from the Greek word where  poly  +  morphos  where poly means many and morphos means forms. In programming background, polymorphism can be broadly divided into two parts. These are: Static Polymorphism Dynamic Polymorphism. Polymorphism is another concept of object oriented programming (OOPs). The attitude which lies beneath this concept is “single interface having multiple implementations.” This provides a single interface for controlling access to a general class of actions. Polymorphism can be gained in both ways: compile time and run time A common and simple example of polymorphism is when you used  >>  and  << as operator overloading in C++, for  cin  and  cout  statements respectively. This bitwise shift operator at that time acts as a inclusion operator and its overloaded meaning is defined in  iostream  header file. Static Polymorphism In static polymor...