繁体   English   中英

Node.js客户端服务器示例不适用于Azure服务器

[英]Nodejs Client server sample not working on Azure server

我能够在本地PC上完美运行以下代码。 能够与服务器正确连接和通信的客户端应用程序。 当我尝试使用Visual Studio 2017将代码发布到Azure时失败,并显示以下错误消息:

The page cannot be displayed because an internal server error has occurred.

编码

var net = require('net');

var port = process.env.port || 8000;
var tcp_server = net.createServer(function (socket) {
    socket.write('Joydip\n');
    socket.end('Kanjilal\n');
});
tcp_server.listen(8080);
//tcp_server.listen(port);

尽管我注释掉了侦听8080并用命名管道格式替换的行,但它也不起作用。 有人请帮忙。 谢谢!

我假设Azure Server代表Azure Web App,因为在部署它时出现相同的错误。

出现错误消息是因为我们部署了TCP服务器,而Web应用程序应该是HTTP服务器,它可以处理HTTP请求并发送回响应,例如显示html页面。 网络模块创建的TCP服务器不具备此功能。

我能够在本地PC上完美运行以下代码。

如果我使用node运行代码片段,它确实可以工作。

当我尝试在VS中将其作为Azure Nodejs Web应用程序运行时,我通过使用指定端口(例如8080)(除了process.env.port(1337)除外)使其工作,没有该端口,则该端口不被识别为Web应用程序,因此浏览器中没有启动Web服务器。

如果只想使用套接字连接,建议您使用socket.io模块 ,该模块允许您将套接字附加到HTTP服务器。

如果必须使用此TCP服务器,请查看此线程 ,尝试使用Azure云服务。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM