Solved

[python][network]   simplest networking

Posted on 2007-11-23
2
322 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 28

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

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

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

Suggested Solutions

"The time has come," the Walrus said, "To talk of many things: Of sets--and lists--and dictionaries-- Of variable kinks-- And why you see it changing not-- And why so strange are strings." This part describes how variables and references (see …
Variable is a place holder or reserved memory locations to store any value. Which means whenever we create a variable, indirectly we are reserving some space in the memory. The interpreter assigns or allocates some space in the memory based on the d…
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 modules and packages in Python. Every Python file is a module, ending in the suffix: .py: Modules are a collection of functions and variables.: Packages are a collection of modules.: Module functions and variables are accessed us…

863 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

21 Experts available now in Live!

Get 1:1 Help Now