我刚刚开始学习网络并遵循 Kurose 和 Ross 的书。他们有以下 python 代码片段来说明 UDP 协议。
简单客户端的代码由下式给出
from socket import *
serverName = ‘hostname’ # Use IP adresse here
serverPort = 12000
clientSocket = socket(socket.AF_INET, socket.SOCK_DGRAM)
message = raw_input(’Input lowercase sentence:’)
clientSocket.sendto(message,(serverName, serverPort))
modifiedMessage, serverAddress = clientSocket.recvfrom(2048)
print modifiedMessage
clientSocket.close()
服务器的代码由下式给出
from socket import *
serverPort = 12000
serverSocket = socket(AF_INET, SOCK_DGRAM)
serverSocket.bind((’’, serverPort))
print ”The server is ready to receive”
while 1:
message, clientAddress = serverSocket.recvfrom(2048)
modifiedMessage = message.upper()
serverSocket.sendto(modifiedMessage, clientAddress)
我很幸运拥有两台笔记本电脑,并考虑让一台运行客户端,一台运行服务器部分。这是幼稚的吗?我正在努力找出如何在serverName
此处指定变量或 IP 地址。两台笔记本电脑都在同一个 WiFi 网络中(即使它的 eduroam 可能会导致问题?)
当我使用终端查找本地 IP 地址时,一个给我 10.17.47.158,另一个给我 100.112.82.103。但仅仅使用这些 IP 地址似乎不起作用。我究竟做错了什么?另外为什么它们如此不同,这是否意味着它们没有连接到同一个路由器?
我可以只在两台不同的笔记本电脑上运行这两个应用程序,并且当我指定正确的 IP 地址时一切都应该正常工作吗?还是我在这里完全错了?