Twisted Python通过网络交换机连接



我有两台电脑(没有其他电脑)直接插入网络交换机,我正试图让其中一台通过twisted.internet.reactor.connectTCP(addr, 8000, factory)连接到另一台。我应该拥有什么作为addr

在我试图连接的计算机上(手工复制,所以可能有拼写错误):

$ ifconfig
eth0      Link encap:Ethernet  HWaddr b8:27:eb:92:e3:cc
UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
RX packets:126 errors:0 dropped:0 overruns:0 frame:0
TX packets:11 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:41328 (40.3 KiB)  TX bytes:3850 (3.7 KiB)
[snip]

谢谢你的帮助!

这个问题实际上不是关于Twisted,而是关于网络。Twisted的connectTCP从您计算机上的某个IP地址连接到远程计算机上的某些IP地址。您通常不需要指定源地址,因为您的本地TCP堆栈会根据远程堆栈自动发现要使用的正确地址。但是,两台计算机都需要具有可以路由到彼此的IP地址。

您从ifconfig显示的输出显示您有一个以太网设备,但该设备没有关联的IP地址。没有IP地址可供您提供给Twisted,因为您的网络设置不足以让connectTCP(或其他即使在IP层运行的软件,更不用说connectTCP的更高级别,即TCP)工作。

如果本地和远程设备直接插入到没有DHCP服务器(或SLAC等其他机制)的网络交换机中,则需要以某种方式为该接口分配一个IP地址,以便直接为其提供地址。您还需要设置网络掩码和其他一切,以便两台计算机可以相互路由。

我不会在这个答案中告诉你如何做到这一点,因为这在很大程度上取决于你的网络配置和操作系统。然而,正如让-保罗在评论中所说,这将是超级用户的一个很好的候选者。

最新更新