我试图在使用socket.io和express的node.js中创建多房间聊天应用程序。我很困惑使用服务器端口和websocket端口。我知道客户端使用服务器端口连接到服务器。但不确定使用websocket端口。Node.js聊天应用程序中的服务器端口和websocket端口的区别
感谢&问候..
我试图在使用socket.io和express的node.js中创建多房间聊天应用程序。我很困惑使用服务器端口和websocket端口。我知道客户端使用服务器端口连接到服务器。但不确定使用websocket端口。Node.js聊天应用程序中的服务器端口和websocket端口的区别
感谢&问候..
服务器套接字通过服务器...,保持听来在一个循环的插座要求用...和WebSocket的发送到服务器套接字的请求,并结合两个设备之间的连接...
如果你有/想要有网络客户端,WebSocket将被要求,因为没有从基于浏览器的JavaScript访问'常规'TCP(或UDP)套接字(我假设你2017年不需要Flash,SilverLight或Java Applets)。由于端口号的原因,WebSocket并不是特殊的,但它因协议而特殊:WebSocket连接以普通的HTTP连接开始,之后重新配置,它为浏览器世界设计,甚至能够遍历HTTP代理。建立连接后,它提供了一个全双工双向消息流,非常适用于聊天应用程序。
因为是一个网络事物,如果你被允许,你可以简单地使用端口80。
webSockets可以共享与您的Web服务器相同的端口,这是一种常用配置。这起作用的原因是因为webSocket如何建立连接(所有webSocket连接都是通过HTTP请求启动的)。它的工作原理是这样的:
Web服务器看到升级请求,并且如果支持启用webSocket连接,它将响应101请求(切换协议)和另一个安全相关头。
客户端获得接受的升级并且两端都切换到webSocket协议,并且使用HTTP协议启动的原始TCP套接字现在使用webSocket协议。
以这种方式,相同的端口和webServer可用于常规HTTP请求或webSocket连接请求。
对于聊天应用程序,通常使用webSocket连接,因为它是一个连续的连接,更容易让服务器直接向聊天应用程序中常需要的客户端发送信息。
要了解有关webSocket连接和服务器如何工作的更多信息,请参阅MDN上的此参考:Writing WebSocket servers,其中显示了启动webSocket连接的分步过程。
@RobinSharma - 你为什么删除接受的答案?你的问题没有回答吗?如果是这样,你还有什么困惑? – jfriend00