Solved

[python][network]   simplest networking

Posted on 2007-11-23
2
325 Views
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,

so,

just a server script listening for

a client script sending one line of text,


is it possible?
0
Comment
Question by:Troudeloup
2 Comments
 
LVL 17

Expert Comment

by:ramrom
ID: 20341256
Yes - see the socket module
0
 
LVL 29

Accepted Solution

by:
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:

http://www.qiksearch.com/python/sockets/server.py
http://www.qiksearch.com/python/sockets/client.py

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 http://en.wikipedia.org/wiki/User_Datagram_Protocol. More reliable transfer can be done via TCP (see http://en.wikipedia.org/wiki/Transmission_Control_Protocol).
# 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)
UDPSock.bind(addr)
 
# Receive messages
while True:
    data, addr = UDPSock.recvfrom(1024)
    if data == 'stop':
        print 'Client wants me to stop.'
        break
    else:
        print "From addr: '%s', msg: '%s'" % (addr[0], data)
 
# Close socket
UDPSock.close()
print 'Server stopped.'
 
---------------------------------------------------------------
 
# Client program
 
import socket
 
 
#addr = ('localhost', 33333)                                # localhost, port
#addr = ('127.0.0.1', 33333)                                # localhost explicitly
#addr = ('xyz', 33333)                                      # explicit computer
#addr = ('<broadcast>', 33333)                              # broadcast address
addr = ('255.255.255.255', 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:
        break
    else:
        if UDPSock.sendto(data, addr):
            print "Sending message '%s'..." % data
 
UDPSock.close()             # Close socket
print 'Client stopped.'

Open in new window

0

Featured Post

Free Tool: ZipGrep

ZipGrep is a utility that can list and search zip (.war, .ear, .jar, etc) archives for text patterns, without the need to extract the archive's contents.

One of a set of tools we're offering as a way to say thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
python question 5 85
Modify a small python script 19 121
Live coding in Python 2.13.0 eclipse plugin security 1 62
Is doing tutor.com teaching in my situation advisable? 2 130
Dictionaries contain key:value pairs. Which means a collection of tuples with an attribute name and an assigned value to it. The semicolon present in between each key and values and attribute with values are delimited with a comma.  In python we can…
When we want to run, execute or repeat a statement multiple times, a loop is necessary. This article covers the two types of loops in Python: the while loop and the for loop.
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…
Learn the basics of if, else, and elif statements in Python 2.7. Use "if" statements to test a specified condition.: The structure of an if statement is as follows: (CODE) Use "else" statements to allow the execution of an alternative, if the …

685 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