Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Python > Client server implementation

Reply
Thread Tools

Client server implementation

 
 
Babloo
Guest
Posts: n/a
 
      09-15-2008
Hi everyone,

i wanted to implement a client- server connection
and transfer a file over the network. i was able to implement a normal
set up where in i was able to send chat messages and small chunks of
data.
I want to implement the file transfer with out using the FTP library
available in python .

So can anyone suggest a piece of code by which i can
do that.

Thanks
Pruthvi
 
Reply With Quote
 
 
 
 
Larry Bates
Guest
Posts: n/a
 
      09-15-2008
Babloo wrote:
> Hi everyone,
>
> i wanted to implement a client- server connection
> and transfer a file over the network. i was able to implement a normal
> set up where in i was able to send chat messages and small chunks of
> data.
> I want to implement the file transfer with out using the FTP library
> available in python .
>
> So can anyone suggest a piece of code by which i can
> do that.
>
> Thanks
> Pruthvi


What Client OS? What Server OS? On LAN or Internet? You need to give is some
information to help you.

-Larry
 
Reply With Quote
 
 
 
 
Benjamin
Guest
Posts: n/a
 
      09-16-2008
On Sep 15, 5:15*am, Babloo <(E-Mail Removed)> wrote:
> Hi everyone,
>
> * * * * * * * * * i wanted to implement a client- server connection
> and transfer a file over the network. i was able to implement a normal
> set up where in i was able to send chat messages and small chunks of
> data.
> I want to implement the file transfer with out using the FTP library
> available in python .
>
> * * * * * * * * * So can anyone suggest a piece of code by which i can
> do that.


I don't know what you really want, but look at Twisted. http://twistedmatrix.com

>
> Thanks
> Pruthvi


 
Reply With Quote
 
Babloo
Guest
Posts: n/a
 
      09-16-2008
On Sep 16, 7:38*am, Benjamin <(E-Mail Removed)> wrote:
> On Sep 15, 5:15*am, Babloo <(E-Mail Removed)> wrote:
>
> > Hi everyone,

>
> > * * * * * * * * * i wanted to implement a client- server connection
> > and transfer a file over the network. i was able to implement a normal
> > set up where in i was able to send chat messages and small chunks of
> > data.
> > I want to implement the file transfer with out using the FTP library
> > available in python .

>
> > * * * * * * * * * So can anyone suggest a piece of code by which i can
> > do that.

>
> I don't know what you really want, but look at Twisted.http://twistedmatrix.com
>
>
>
> > Thanks
> > Pruthvi

>
>

I am beginner at using python language.
I mean i am implementing that in a windows based machine and wanted
to transfer files over the LAN. I have written down two files as
client.py and server.py . I ran these files at two different Computers
in the LAN and I was able to send small chunks of messages( like
chat).

I was successful in establishing connection and sending small
messages. But now i want to transfer a complete file with out using
the ftplib(FTP LIBRARY) in python.


The files look like this.i hope this would help.

______________________________________________
# Server program

from socket import *

# Set the socket parameters
host = "117.105.224.94"
port = 21567
buf = 1024
addr = (host,port)

# Create socket and bind to address
UDPSock = socket(AF_INET,SOCK_DGRAM)
UDPSock.bind(addr)

# Receive messages
while 1:
data,addr = UDPSock.recvfrom(buf)
if not data:
print "Client has exited!"
break
else:
print "\nReceived message '", data,"'"

# Close socket
UDPSock.close()
__________________________________________________

# Client program

from socket import *

# Set the socket parameters
host = "117.105.224.94"
port = 21567
buf = 1024
addr = (host,port)

# Create socket
UDPSock = socket(AF_INET,SOCK_DGRAM)

def_msg = "===Enter message to send to server===";
print "\n",def_msg

# Send messages
while (1):
data = raw_input('>> ')
if not data:
break
else:
if(UDPSock.sendto(data,addr)):
print "Sending message '",data,"'....."

# Close socket
UDPSock.close()

__________________________________________________ ___________

 
Reply With Quote
 
r0g
Guest
Posts: n/a
 
      09-17-2008
Babloo wrote:
> On Sep 16, 7:38 am, Benjamin <(E-Mail Removed)> wrote:
>> On Sep 15, 5:15 am, Babloo <(E-Mail Removed)> wrote:
>>
>>> Hi everyone,
>>> i wanted to implement a client- server connection
>>> and transfer a file over the network. i was able to implement a normal
>>> set up where in i was able to send chat messages and small chunks of
>>> data.
>>> I want to implement the file transfer with out using the FTP library
>>> available in python .
>>> So can anyone suggest a piece of code by which i can
>>> do that.

>> I don't know what you really want, but look at Twisted.http://twistedmatrix.com
>>
>>
>>
>>> Thanks
>>> Pruthvi

>>

> I am beginner at using python language.
> I mean i am implementing that in a windows based machine and wanted
> to transfer files over the LAN. I have written down two files as
> client.py and server.py . I ran these files at two different Computers
> in the LAN and I was able to send small chunks of messages( like
> chat).
>
> I was successful in establishing connection and sending small
> messages. But now i want to transfer a complete file with out using
> the ftplib(FTP LIBRARY) in python.
>
>
> The files look like this.i hope this would help.
>
> ______________________________________________
> # Server program
>
> from socket import *
>
> # Set the socket parameters
> host = "117.105.224.94"
> port = 21567
> buf = 1024
> addr = (host,port)
>
> # Create socket and bind to address
> UDPSock = socket(AF_INET,SOCK_DGRAM)
> UDPSock.bind(addr)
>
> # Receive messages
> while 1:
> data,addr = UDPSock.recvfrom(buf)
> if not data:
> print "Client has exited!"
> break
> else:
> print "\nReceived message '", data,"'"
>
> # Close socket
> UDPSock.close()
> __________________________________________________
>
> # Client program
>
> from socket import *
>
> # Set the socket parameters
> host = "117.105.224.94"
> port = 21567
> buf = 1024
> addr = (host,port)
>
> # Create socket
> UDPSock = socket(AF_INET,SOCK_DGRAM)
>
> def_msg = "===Enter message to send to server===";
> print "\n",def_msg
>
> # Send messages
> while (1):
> data = raw_input('>> ')
> if not data:
> break
> else:
> if(UDPSock.sendto(data,addr)):
> print "Sending message '",data,"'....."
>
> # Close socket
> UDPSock.close()
>
> __________________________________________________ ___________
>



You're really not far away then, you basically need to come up with a
simple protocol that can transmit

1) The file name
2) The file length
3) The file data itself

You could also transmit the files metadata: datestamps, permissions etc
if you wanted to make it better. Also, there might be security issues to
consider too if you're running this on anything other than your own home
network.

So anyway, for a simple solution howabout you send:

filename + "\n"
filesize + "\n" (make sure you use str() to send this as text)

Then loop through your filedata
send a chunk
wait for an OK back from the other side
loop

At the receiving end as the chunks arrive:

Get the filename
Open a file for writing
Get the filesize
Setup a loop to receive the file data
Send OK
Get chunk from socket
Write data to file
Break (stop) if filesize reached
Loop
Close file

This, of course has no error correction and will probably die if you
have any packet loss on your network, a more robust solution would be to
use TCP sockets rather than UDP sockets.

Hope this helps


Roger Heathcote

http://www.technicalbloke.com
http://movingtoubuntu.technicalbloke.co.uk
 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Insertion Sort : C++ implementation 100 times slower than C implementation sanket C++ 7 11-03-2011 05:00 AM
Knowing the implementation, are all undefined behaviours become implementation-defined behaviours? Michael Tsang C Programming 54 03-30-2010 07:46 AM
Knowing the implementation, are all undefined behaviours become implementation-defined behaviours? Michael Tsang C++ 32 03-01-2010 09:15 PM
Server to server = Server client to server? - Java 2 07-29-2005 10:46 PM
Open source implementation of STUN client/server? Andreas Piirimets VOIP 0 07-16-2004 09:52 AM



Advertisments