1.QT中添加socket 库的相关操作
2.正常c++11 VS2019使用socket库的操作
3.winsock2 与 sys/socket.h的区别?
4.WinSock2 的基本操作?
5.socket的创建
参数的说明[]:http://t.zoukankan.com/MyselfDancing-p-3660167.html
参数:
domain:即协议域,又称为协议族(family)。常用的协议族有,AF_INET、AF_INET6、AF_LOCAL等;
type:指定socket类型。常用的socket类型有,SOCK_STREAM、SOCK_DGRAM、SOCK_RAW、SOCK_PACKET等等;
protocol:指定协议。常用的协议有,IPPROTO_TCP、IPPTOTO_UDP、IPPROTO_SCTP、IPPROTO_TIPC等。当protocol为0时,会自动选择type类型对应的默认协议。
发现无论如何找都找不到这些这个库的源码
6.socket到底是什么?
参考网址[]:https://mp.weixin.qq.com/s/U7GR7hbUJBK_yzB4vaC6TQ
这个问题真的很让人困扰。
每个解释的博客或者是推文似乎都用着同一套让人完全听不懂的说辞。
直至找到这篇比较有头有尾的说明。
socket(套接字)就是把复杂的TCP/IP协议族隐藏在Socket接口后面,对用户来说,一组简单的接口就是全部,让Socket去组织数据,以符合指定的协议。
socket就是一组简单的接口,谁的接口? TCP/IP协议簇的接口。
不同进程间通信需要用到IPC,同一主机的还好说(用PID标识),不同主机的只能通过网络。TCP/IP 协议簇 完成了这项任务。网络层的ip协议能够确定主机地址,而传输层的协议加端口可以确定主机应用程序(进程)。 三元组(IP地址,协议,端口号)就能标识网络进程。socket起源于UNIX,“一切皆文件”的体现。
socket就是一类特殊的文件。操作模式就是open-read/write-close 。
7.winsock与socket的区别与联系?
对winsock的讲解更是抽象,只要提到winsock 百度上全是马上教你如何简易实现TCP、UDP的C/S模型 。
[]:https://mp.weixin.qq.com/s/-J3rDK_LbYXATQRSTzON9w
[]:https://wenku.baidu.com/view/f3d66cfe04a1b0717fd5dd3f.html 这个也不错
便于理解,这里是Linux的网络解读[]:https://developer.aliyun.com/article/801566
终于是有个比较听得懂的解说。
winsock就是微软用socket 开发的一个网络编程的相关函数,是Windows下的网络编程接口。
里面还有对具体代码的剖析(指winsock实现源码,而不是应用源码) 泪目
8.如何实现C/S?
在弄明白了6,7之后,我觉得变得开朗许多。
只需要掌握基本框架就行。C/S很好搭。