1

Тема: python3, twisted

Є написаний код на Python3, я використав twisted

from twisted.internet import reactor, protocol

class Echo(protocol.Protocol):

    def dataReceived(self, data):
        self.transport.write(data)

def main():
    factory = protocol.ServerFactory()
    factory.protocol = Echo
    reactor.listenTCP(8123, factory)
    reactor.run()

if __name__ == '__main__':
    main()

все працює коли підєднуюся через telnet 127.0.0.1 8123
Питання що треба зробити щоб можна було підєднатися до сервера по ip через інтернет (код запускаю в себе на ноуті)?

2

Re: python3, twisted

Мав схожу проблему з фласком. Як виявилось, при запуску сервера треба було вказати свій IP як 0.0.0.0 (що дозвояляє зайти з будь-якої адреси), або ж слід вказати реальний IP сервера в мережі, тоді як за замовчуванням стоїть 127.0.0.1 (в такому варіанті зайти можна лише з локалхосту).

py -3 -m pip install git+https://github.com/snoack/python-goto
∩⍴○⌈⍴⍺/∧\∨/⊢○ ⌿⍀⍴⌊
Подякували: Master_Sergius1

3

Re: python3, twisted

Давати IP як 0.0.0.0 - це тра всюди на девелоперських серверах, не лише в пайтоні.

Мій блог про ОС сімейства *nix - http://nixtravelling.blogspot.com/

4

Re: python3, twisted

Дякую за відповідь але нажаль не помогло, я тоже згадав про "0.0.0.0", прописував так коли nginx настроював. Почитав документацію там

defaults to '', i.e. all IPv4 addresses

, потім пробував і "0.0.0.0" і "real IP" нічого. Потім запустив той самий код на свому VPS так до сервера конектиться все ок.

5

Re: python3, twisted

А всьо того шо (насправді ні)

# define INADDR_ANY    ((unsigned long int) 0x00000000)

рандом inet.h

Maybe a = Just a | Nothing