如何解决如何将扭曲的python代码托管到互联网?
目前我有以下代码,它只是回显发送到服务器的数据,并显示服务器中到客户端的活动连接数并发送一些信息。
from twisted.internet.protocol import Protocol,Factory
from twisted.internet import reactor
from twisted.internet.endpoints import TCP4ServerEndpoint
connections = -1
class echo_simple(Protocol):
def connectionMade(self):
global connections
connections += 1
self.transport.write(f'Number of active connections in the server are: {connections} '.encode('utf-8'))
def connectionLost(self,*args,**kwargs):
global connections
connections -= 1
print(':: N :: A Connection Just Closed :: N ::')
def dataReceived(self,data):
data = data.decode('utf-8')
print(f':C: {data} ')
self.transport.write("\n Server Successfully Received Your Message!".encode('utf-8'))
self.transport.write(f"\n |THE MESSAGE YOU SENT IS : {data}|".encode('utf-8'))
self.transport.write(f'\n Closing The Connection As This is Just An Echo Server'.encode('utf-8'))
self.transport.loseConnection()
class Server_factory(Factory):
def buildProtocol(self,addr):
print(" |^INFO^| Created An Instance ")
return echo_simple()
endpoint = TCP4ServerEndpoint(reactor,8009)
endpoint.listen(Server_factory())
reactor.run()
我的问题是服务器当前正在侦听 LocalHost ,我想在全球的 internet 中托管它!
例如,我有一个名为 www.examplecode.com
的域而不是在 localhost 中侦听,如何更改我的代码以使其侦听 www.examplecode.com 而不是 localhost ?
解决方法
您需要域指向运行此代码的服务器。 当您购买域名时,您购买域名的注册商通常会为您提供一个设置 dns 配置的界面,通常您会设置一个 AA 或 CNAME 记录以指向指向您将使用的服务器的 IP 或现有的其他域运行代码。
您通常会从另一家公司租用一台服务器(很多),该服务器将在数据中心内运行并得到维护、连接到该服务器并部署您的代码在它上面(通常通过 ssh),并让它监听 0.0.0.0 以便它接受来自任何地方的连接。然后您获取此服务器的 IP,并使用它在您的注册商提供的界面中设置 DNS。
或者,您也可以使用家里的电脑,如果您将路由器配置为将 440 和 80 端口上的连接直接连接到这台 PC 的本地 ip,并将您家连接的 ip 放在注册商 DNS 配置中(不过希望你有一个静态 IP)。
无论如何,对于一个 stackoverflow 问题来说,它的主题有点宽泛(它甚至可能不是 stackoverflow 的主题,也许它更像是一个服务器故障问题,或者一个超级用户问题。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。