python套接字客户端在一台主机上运行时,如何拥有任意IP?
我正在尝试学习python中的套接字编程。python套接字客户端在一台主机上运行时,如何拥有任意IP?,python,sockets,Python,Sockets,我正在尝试学习python中的套接字编程。 我已经编写了一个服务器,它首先通过客户端的IP来识别客户端,我想在本地主机上测试该程序,但不知道如何为客户端提供不同的IP。正如我所知,当我们使用connect()方法时,我们只指定目标的主机和端口,但是如果我们想选择自己的呢?!有办法吗 HOST = '127.0.0.1' PORT = 8018 TIMEOUT = 5 BUF_SIZE = 1024 class WhatsUpClient(): def __init__(self,
我已经编写了一个服务器,它首先通过客户端的IP来识别客户端,我想在本地主机上测试该程序,但不知道如何为客户端提供不同的IP。正如我所知,当我们使用connect()方法时,我们只指定目标的主机和端口,但是如果我们想选择自己的呢?!有办法吗
HOST = '127.0.0.1'
PORT = 8018
TIMEOUT = 5
BUF_SIZE = 1024
class WhatsUpClient():
def __init__(self, host=HOST, port=PORT):
self.sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
self.sock.connect((host, port))
logging.info('Connecting to %s:%s' % (host, port))
while 1:
try:
buf = self.sock.recv(BUF_SIZE)
sys.stdout.write(buf)
cmd = raw_input()
if cmd.strip() == '!q':
sys.exit(1)
self.sock.send(cmd)
except:
self.sock.close()
def run(self):
pass
一个IP地址必须是全世界唯一的(除了少数例外),所以你不能随意选择一个并使用它 您可以查看is(192.168.x.x和10.x.x.x)。最简单的设置方法是在计算机上安装虚拟机(如)。当您查看活动网络接口时,您将看到VM添加了一些虚拟网卡 如果您在虚拟PC上运行客户端,它将获得一个特殊的私有IP地址 你也可以在云端租一台个人电脑,在那里运行你的代码,但这要花钱
另一种选择是询问您的系统管理员是否有免费的IP地址,您可以使用这些地址进行测试,但通常情况下,他们不会或不想告诉您,因为设置这些地址有点复杂。IP地址是分配给计算机的,而不是分配给某个程序的。您可能想在维基百科上阅读互联网协议: