在基于 Azure 的 Web 应用程序中,我希望客户端能够将 TCP 数据包发送到我服务器上的端口 293,并且作为响应,我的 Web 应用程序应该为客户端打开一个套接字(并且能够发回 TCP )。
它在 Azure 中的工作方式与在任何 C# 服务器中的工作方式相同吗?套接字 C# 文件是否进入 Web 角色或辅助角色?我可以/应该使用哪些课程?
感谢所有帮助!
Web 角色和辅助角色本质上是分别运行和不运行 IIS 的 Windows Server 2008 SP2/R2。至于代码,请在 Windows Server 中执行任何操作来侦听特定端口。
端口映射到特定角色。因此,如果您有一个 Web 角色并在端口 293 上创建一个输入端点,那么该流量将被定向到您的 Web 角色(并在所有实例之间进行负载平衡)。同样,如果您在 Worker Role 上设置端口,流量将流向 Worker Role 的实例。
如果您的套接字侦听器实际上要保存正在上传的数据,您需要确保保存的数据进入持久存储- 即 Windows Azure blob 或表,或 SQL Azure。如果您写入本地磁盘(包括分配为本地资源的磁盘本地磁盘空间),则它是不持久的,并且如果出现问题(例如磁盘故障),您不能指望数据仍然存在。