VC++网络编程笔记

第一讲
1.课程介绍
基于windows平台的网络编程技术。

2.socket API版本
WinSock1.1和WinSock2.2, 2.2 版本默认会兼容1.1版本
(1)1.1 winsock.h wsock32.lib winsock.dll
(2)2.2 winsock2.h ws2_32.lib ws2_32.dll
2.2版本比1.1版本多了一些高级的功能, 如:
多重协议支持:通过SPI接口支持其他协议;
多命名空间:根据服务与主机名选择协议
重叠I/O模式:增强I/O吞吐量与接收数据
分散与聚合:从多个缓冲区发送与接受数据
有条件接受:有选择的决定是否连接;
套接字共享:多个进程共享一个套接字句柄;

大家看到的WSA开头的都是WinSock2.2的接口。

3.什么是socket
socket就是与外界通信的一个标识。

4.Socket套接字类型
比较常用的包括:流式套接字(TCP),数据报套接字(UDP),原始套接字等。

TCP:面向连接,稳定,需要资源多。
UDP:无连接,不稳定,需要资源少。

5. TCP与UDP的区别
(1)基于连接与无连接
(2)对系统资源的要求
(3)UDP程序结构简单
(4)流模式与数据报模式
TCP保证数据正确性,UDP可能丢包。
TCP保证数据顺序,UDP不保证。

具体编程时的区别:
(1)socket()的参数不同
(2)UDP server不需要调用listen和accept
(3)UDP收发数据用sendto/recvfrom函数
(4)TCP:地址信息再connect/accept时确定
UDP:在sendto/recvfrom函数每次均需指定地址信息
(5)UDP:shutdown函数无效

6.采用udp协议时的情况
(1)网络数据大多位短消息
(2)拥有大量的client
(3)对数据安全性无特殊要求
(4)网络负担非常重,但对相应速度要求高。

7.TCP类型Socket程序开发流程
TCP服务端:WSAStartup、socket、bind、listen、accept、read、write、closesocket、WSACleanup。
TCP客户端:
WSAStartup、socket、connect、read、write、closesocket、WSACleanup.

 

 

posted on   xcxfury001  阅读(79)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· Ollama——大语言模型本地部署的极速利器
· 使用C#创建一个MCP客户端
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· Windows编程----内核对象竟然如此简单?
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示