我们正在实现一个NTP服务器代码,如下链接所述:
https://github.com/limifly/ntpserver/blob/master/ntpserver.py
我们需要做的唯一更改是,我们的NTP服务器需要绑定到两个IP—一个称为主IP,另一个称为辅助IP。逻辑是一些客户端池将基于某些配置连接到每个池。因此,我们需要两个recvThread/workThread
我对Python和线程的知识非常有限。以下代码的修改是否能达到目标:
listenPrimaryIp = primaryip
secondaryip = secondaryip
listenPort = 123
prisocket = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
prisocket.bind((listenPrimaryIp,listenPort))
print ("local primary socket: ", prisocket.getsockname())
secsocket = socket.socket(socket.AF_INET,socket.SOCK_DGRAM) #added
secsocket.bind((secondaryip,listenPort)) #added
print ("local secondary socket: ", secsocket.getsockname())
precvThread = RecvThread(prisocket)
precvThread.start()
pworkThread = WorkThread(prisocket)
pworkThread.start()
srecvThread = RecvThread(secsocket) #added
srecvThread.start() #added
sworkThread = WorkThread(secsocket) #added
sworkThread.start() #added
while True:
try:
time.sleep(0.5)
except KeyboardInterrupt:
print ("Exiting...")
stopFlag = True
precvThread.join()
pworkThread.join()
srecvThread.join() #added
sworkThread.join() #added
prisocket.close()
secsocket.close() #added
print ("Exited")
#break
return 0
目前没有回答
相关问题 更多 >
编程相关推荐