"aditya" <nauty.m...@gmail.com> wrote in message
news:BANLkTikS+gzm=89thczpbwksd+wufec...@mail.gmail.com...
This is a small client-server program in which i am using a Vbscript
program
to check for connectivity of 2 machines and write the output to a text
file
whether it connectes or not ,
for example the contents of the file *output.txt* are
192.168.1.2 is connected
192.168.1.10 is not connected
Now i am trying to send the contents of this file from a client through a
socket to a server which is running on my main server .This is basically
created to automate the checking of connectivity of the machines. The
issue
is that although the Vbscript writes the output to the file correctly but
when the client sends the contents of the file to the server via socket ,
it
sometimes prints all the lines of the file on the server and sometimes it
doesnt , i dont know whether the issue is with the client or the server ,
Please Help..
CLIENT.PY
import socket
import os
import sys
os.system("C:\Python26\ping.vbs")
host = "localhost"
port= 23333
size = 1024
s=socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((host,port))
f=open('output.txt','r')
while 1:
data = f.readline()
if data: s.send(data)
else: break
Use "s.sendall(data)" instead of send to correct the error Alan pointed out.
f.close()
s.close()
SERVER.PY
import socket
host = ""
port = 23333
size = 1024
backlog=5
s=socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((host,port))
s.listen(backlog)
s.accept() should be before the while loop, then loop on recv until the
client closes the connection. Since TCP is a streaming protocol, recv()
could receive less than a line or more than one line at once, but with the
accept inside the loop the script will pause waiting for a different client
to connect, and won't continue reading the data from the original client.
-Mark
while 1:
client, addr =s.accept()
data=client.recv(size)
if data:
print data
else:
print "client exit"
s.close()
--
Regards
Aditya
--------------------------------------------------------------------------------
_______________________________________________
Tutor maillist - Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor
_______________________________________________
Tutor maillist - Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor