W
WIWA
Hi,
I want to make a UDP client server application that is conform to
RFC868 (Time protocol). Both the UDP client and UDP server are in a
test phase.
The question is: when I add "svrsocket.sendto(resultaat, (ip, port))"
in the UDP server, my application closes while running. When I leave
it away, it works fine. I really need this statement as the purpose is
that a client sends sth to the server and the server sends back the
time ticks.
Anybody an idea how I can modifu my client/server so that it works?
Regards,
Wim
Here is the server:
# UDP server example
import time
import socket
import string
import string
class Tijd:
def __init__(self, hours=0,minutes=0,seconds=0):
self.hours=hours
self.minutes=minutes
self.seconds=seconds
def aantal_seconden(self):
x = time.time()
y=(1970, 1, 1, 1, 0, 0, 0, 0, 0)
y=time.mktime(y)
resultaat=x-y
return resultaat
if __name__=="__main__":
tijd=Tijd()
resultaat=tijd.aantal_seconden()
print 'resultaat',resultaat
port=37
svrsocket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
svrsocket.bind(('', port))
hostname = socket.gethostname()
ip = socket.gethostbyname(hostname)
print 'TOD server is at IP adress: ', ip
tijd=time.ctime()
tijd=string.split(time.ctime())
print 'The current time is', tijd[3]
print 'Listening for TOD-requests on port %s ...' %port
while 1:
data, address = svrsocket.recvfrom(256)
print 'Received a TOD-request from modem with IP-address %s'
%address[0]
print 'Sending back the time to modem with
IP-address',address[0]
print "time", resultaat
svrsocket.sendto(resultaat, (ip, port))
And here is the client:
# UDP client example
import socket
port=37
clisocket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
while 1:
data = raw_input("Type something: ")
if data:
clisocket.sendto(data, ("127.0.0.1", port))
else:
break
s.close()
I want to make a UDP client server application that is conform to
RFC868 (Time protocol). Both the UDP client and UDP server are in a
test phase.
The question is: when I add "svrsocket.sendto(resultaat, (ip, port))"
in the UDP server, my application closes while running. When I leave
it away, it works fine. I really need this statement as the purpose is
that a client sends sth to the server and the server sends back the
time ticks.
Anybody an idea how I can modifu my client/server so that it works?
Regards,
Wim
Here is the server:
# UDP server example
import time
import socket
import string
import string
class Tijd:
def __init__(self, hours=0,minutes=0,seconds=0):
self.hours=hours
self.minutes=minutes
self.seconds=seconds
def aantal_seconden(self):
x = time.time()
y=(1970, 1, 1, 1, 0, 0, 0, 0, 0)
y=time.mktime(y)
resultaat=x-y
return resultaat
if __name__=="__main__":
tijd=Tijd()
resultaat=tijd.aantal_seconden()
print 'resultaat',resultaat
port=37
svrsocket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
svrsocket.bind(('', port))
hostname = socket.gethostname()
ip = socket.gethostbyname(hostname)
print 'TOD server is at IP adress: ', ip
tijd=time.ctime()
tijd=string.split(time.ctime())
print 'The current time is', tijd[3]
print 'Listening for TOD-requests on port %s ...' %port
while 1:
data, address = svrsocket.recvfrom(256)
print 'Received a TOD-request from modem with IP-address %s'
%address[0]
print 'Sending back the time to modem with
IP-address',address[0]
print "time", resultaat
svrsocket.sendto(resultaat, (ip, port))
And here is the client:
# UDP client example
import socket
port=37
clisocket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
while 1:
data = raw_input("Type something: ")
if data:
clisocket.sendto(data, ("127.0.0.1", port))
else:
break
s.close()