Как настроить Linux VM в azure, чтобы мы могли сделать ее в качестве сервера (а не apache веб-сервера) для программирования сокетов - PullRequest
0 голосов
/ 07 апреля 2020

I Просто установите linux ВМ в azure облаке и создайте server.py, который в основном получает данные из client.py, расположенного на другом хосте, и возвращает капитализированную форму данных. Когда я запускаю server.py в моем виртуальном компьютере, и когда я отправляю данные через client.py на server.py, я не знаю, происходит ли транзакция данных или не устанавливается или нет подключение к сети, но ничего не происходит:

client.py:

enter code here

from socket import *
serverName = '13.91.90.71'
serverPort = 12000  
clientSocket = socket(AF_INET,SOCK_DGRAM)
message = input('Enter lowercase sentence:')
clientSocket.sendto(message.encode(),(serverName, serverPort))
modifiedMessage, serverAddress = clientSocket.recvfrom(2048)
print (modifiedMessage.decode())
clientSocket.close()

server.py:

enter code here

from socket import *
serverPort =12000
serverSocket = socket(AF_INET, SOCK_DGRAM)
serverSocket.bind(('', serverPort))
print('Ready to listen') 
while 1:
    message,clientAddress = serverSocket.recvfrom(2048)
    modifiedMessage = message.upper()
    print(modifiedMessage)
    serverSocket.sendto(modifiedMessage, clientAddress)

1 Ответ

0 голосов
/ 08 апреля 2020

Для вашей проблемы проблема в том, что вам нужно изменить привязку сервера следующим образом:

serverSocket.bind(('0.0.0.0', serverPort))

или

serverSocket.bind(('vm_private_ip', serverPort))

vm_private_ip - это настоящий IP адрес ВМ. И затем вам также нужно добавить правило в NSG, связанное с виртуальной машиной, чтобы разрешить порт 12000.

...