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:
Python Network Services
There are two levels of network service access in Python. These are:
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:
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:
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
Post a Comment