NTP服务器-绑定到2个IP地址-主/次

时间:2019-06-06 07:25:03

标签: python

我们正在实现以下链接中提到的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

0 个答案:

没有答案