socket抛砖引玉

2019-05-14  本文已影响0人  JoyGY
为什么要讲socket呢?

1.什么是socket?

Socket通信.jpg

网络通信的三要素

传输协议

TCP(传输控制协议)
UDP(用户数据报协议)

2.套接字

1. 流格式套接字(SOCK_STREAM)也叫“面向连接的套接字”

SOCK_STREAM传送带.png
应用场景:

HTTP协议就是基于面向连接的套接字(TCP服务),数据信息必须要准确无误的进行传输

2.数据报格式套接字(SOCK_DGRAM)也叫“无连接的套接字”

SOCK_DGRAM快递小哥.png
应用场景:

qq视频聊天 & qq语言 都是使用SOCK_DGRAM来进行数据传输的。

面向连接和无连接的套接字的理解

网络数据传输.png

3.Socket通信流程

接口简介:

流程图:

socket通信-TCP.jpg socket通信-UDP.png

简述基于TCP的socket通信

简述基于UDP的socket通信

4.问题探讨

1)http 的长短连接 & 长短轮询

长连接 & 短连接

怎样算是把HTTP变成长连接?

长轮询 & 短轮询

长短轮询和长短连接的区别

2)socket 的短连接 长连接

如何实现长连接?

关于短连接的关闭问题

注意:

Socket如何保持长连接?

3)TCP粘包问题

解决办法:

参考文章

//socket基础
http://c.biancheng.net/view/2123.html

//ios中的socket编程
https://blog.csdn.net/weixin_33850890/article/details/87949995
https://juejin.im/post/5957b1e85188250d7c3faa5f
https://juejin.im/post/5958e81ef265da6c2d2c5f7f

//socket技术详解
https://blog.csdn.net/weixin_39634961/article/details/80236161

//常用socket函数详解
https://blog.csdn.net/g_brightboy/article/details/12854117

//tcp http socket关系
https://www.jianshu.com/p/a5410f895d6b

//HTTP协议中的长短轮询、长短连接
http://web.jobbole.com/85541/

//socket的长连接 短连接
https://www.cnblogs.com/lcplcpjava/p/6581179.html

//socket保持长连接
https://blog.csdn.net/liaomengge/article/details/50760834

//udp
https://www.cnblogs.com/skyfsm/p/6287787.html

上一篇下一篇

猜你喜欢

热点阅读