我正在使用函数socket()
,bind()
和listen()
创建tcp连接。
我们的客户希望能够在运行时定义服务器的IP地址。有没有办法在运行时更改IP,还是必须在BIOS中完成?
感谢您提供任何提示
答案 0 :(得分:1)
我多次使用ifAddrSet(..)
更改了IP地址。通常我在应用程序运行之前从启动脚本中调用此函数,所以我不知道调用此函数如何影响已连接的套接字。
但是看看ifLib.h
提供的功能。我相信你会找到适合你需求的东西(ifAddrAdd(..)
看起来很有希望)。
答案 1 :(得分:0)
我不确定您在运行时定义服务器的IP地址是什么意思?'。显然,对于给定的scipy.signal.lfilter
,它的IP地址无法更改。它是连接的端点,无法更改运行时间。如果您只想为可能的主机分配多个IP地址。
一般情况下 - 您可以根据需要为您的机器添加任意数量的IP地址(确切地说不是),但肯定会大约一百个(即静态分配)。这不是问题(管理那是一场噩梦,但肯定不是不可能的)。问题是如何达到这些IP地址(不在您的控制范围内),这取决于客户端上的设置,尤其是路由条目。例如。您可以使用子网中的所有IP地址(例如socket
)。
不推荐 - 但可能。
拥有这些IP地址后,您10.1.2/24
的端口和地址为bind
,表示接受任何'本地地址。可以使用INADDR_ANY
在服务器上确定建立连接的地址。