[python][network]   simplest networking

Posted on 2007-11-23
Last Modified: 2010-04-16
I just want python to send a line of text to the other script on the other computer

they are on the same network,


just a server script listening for

a client script sending one line of text,

is it possible?
Question by:Troudeloup
LVL 17

Expert Comment

ID: 20341256
Yes - see the socket module
LVL 28

Accepted Solution

pepr earned 500 total points
ID: 20344140
If you are allowed, see the question http:#21995292 and the answers. If you cannot search for the answers, here are copies of my answers...

1) Focus on the built-in module socket (Python doc "7.2 socket -- Low-level networking interface"). See the examples:

They are a bit old and could be written aestetically better, but they show the principle. (Add the line UDPSock.sendto('', addr) before the break to finish the server when sending empty line.)

Later, you may get info and inspiration in the standard module SocketServer Python doc ("11.16 SocketServer -- A framework for network servers")

Use the snippets below, store them in separate files -- one for the server, one for the client. The UDP is the simplest form of usage of the IP protocol. See More reliable transfer can be done via TCP (see
# Server program

import socket

# Set the socket parameters

addr = ('', 33333)  # host, port

# Create socket and bind to address

UDPSock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)


# Receive messages

while True:

    data, addr = UDPSock.recvfrom(1024)

    if data == 'stop':

        print 'Client wants me to stop.'



        print "From addr: '%s', msg: '%s'" % (addr[0], data)

# Close socket


print 'Server stopped.'


# Client program

import socket

#addr = ('localhost', 33333)                                # localhost, port

#addr = ('', 33333)                                # localhost explicitly

#addr = ('xyz', 33333)                                      # explicit computer

#addr = ('<broadcast>', 33333)                              # broadcast address

addr = ('', 33333)                          # broadcast address explicitly

UDPSock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) # Create socket

print 'Enter your message:'

print '- Empty message to stop this client.'

print '- "stop" to stop all servers.'

# Almost infinite loop... ;)

while True:

    data = raw_input('>> ')

    if len(data) == 0:



        if UDPSock.sendto(data, addr):

            print "Sending message '%s'..." % data

UDPSock.close()             # Close socket

print 'Client stopped.'

Open in new window


Featured Post

Top 6 Sources for Identifying Threat Actor TTPs

Understanding your enemy is essential. These six sources will help you identify the most popular threat actor tactics, techniques, and procedures (TTPs).

Join & Write a Comment

Plenty of writing has gone on the web trying to compare Python with other competitive programming languages and vice versa. However, not much has been put into a wholistic perspective. This article should help you decide whether to adopt Python as a…
Flask is a microframework for Python based on Werkzeug and Jinja 2. This requires you to have a good understanding of Python 2.7. Lets install Flask! To install Flask you can use a python repository for libraries tool called pip. Download this f…
Learn the basics of strings in Python: declaration, operations, indices, and slicing. Strings are declared with quotations; for example: s = "string": Strings are immutable.: Strings may be concatenated or multiplied using the addition and multiplic…
Learn the basics of lists in Python. Lists, as their name suggests, are a means for ordering and storing values. : Lists are declared using brackets; for example: t = [1, 2, 3]: Lists may contain a mix of data types; for example: t = ['string', 1, T…

708 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

11 Experts available now in Live!

Get 1:1 Help Now