Context
需要使用ASP.NET的SignalR库,配合NATS和Redis实现大文件向前端的推送。
文件发送被朴哥要求使用Web Socket,沟通后发现我对Web Socket 和Socket的概念一直有所混淆。
故专门查阅资料后在此简单总结,欢迎勘误。
Network Socket
首先,Network Socket或者说Socket是一个抽象概念。
Socket的字面意思是插座、插口,而Network Socket的概念是指在计算机网络的端到端连接中的两个端点,更明确点说就是TCP/IP网络环境中的两个连接端。我经常使用的Python-socket库提供的实际上是一个Socket API接口,是对传输层(TCP/UDP)抽象的接口。
WebSocket
WebSocket是一种计算机传输协议,提供了一个TCP上的全双工连接频道。
WebSocket是OSI模型中应用层的协议,依赖于传输层的TCP协议。
网友评论