VC++学习笔记 4
2016-12-20 16:22
267 查看
声明:此为小白学习VC++的学习笔记,因没能在CSDN当中找到相应的私密博客权限,如果有人看到这些文字,请忽略!谢谢!
IP
网络每台主机的全球唯一性的逻辑地址。以下引用一下百度知道上IP与MAC的区别:
协议
为进行网络中数据交换而建立的规则、标准或约定(语义+语法+规则)说得直接点就是在数据前面或者后面加入协议头或者协议尾,在协议头当中定义了“”语义+语法+规则“”,在读取数据时按照协议的规则才能正确读取出数据
ISO、OSI( Open System Interconnection)
__应用层 ——>处理网络应用
__表示层——>数据表示
__会话层——>主机间通信
__传输层——>端对端的连接 。TCP UDP 数据报协议。
__网络层——>寻址和最短路径
__数据链路层——>介质访问 (在EtherCat 由ESC ET1100相关电路完成数据链路)
__物理层——>二进制传输 (无非是RJ45 接口,MII 接口芯片等)
TCP/IP 简化模型
应用层+表示层+会话层 = 应用层 ; 数据链路+物理层 = 网络接口。
TCP (面向连接)的socket编程
①加载套接字库
(#include Winsock2.h+Link ws2_32.lib )->创建套接字( socket(AF_INET , SOCK_STREAM/SOCK_DGRAM) , 0 )
②绑定一个本地地址和端口bind(socket ,address ,size)。其中address 由SOCKADDR结构体进行定义。
③ (Listen)将套接字设为监听模式,准备接收客户请求。并设置同时能接受的请求的客户数。监听功能函数名都差不多,在ANDROID 4 java 当中 按钮的监听函数也是 Listener()
④TCP——服务器端通过Acept () 等待客户请求带来,并返回一个带客户端口地址信息的socket ,以后便可用带有客户信息的套接字给客户发送信息。而客户端通过connect ()发起连接请求。
UDP——直接发送信息与接受信息,不需要产生固定连接。
send /recv (TCP ) sento/recvfrom(UDP)
⑤返回,继续等待请求
线程阻塞问题
无论是RECV 还是RECVFROM ,都会BLOCK 程序,如果在同一个程序中同时实现接受与发送数据功能,类似QQ 有接受窗口与发送窗口,可以使用多线程实现功能,不过QQ的两个窗口分开是否有改变的可能?
网络编程
闲来有事没事写笔记。先发波无知的牢骚——互联网寒冬是什么?小弟文章没看过,见识也短浅,但不时听到互联网寒冬一词(标题略略浏览)。互联网寒冬是什么?是码农太多了么?创意太多了,太重了么?不敢妄言。但是小弟是做硬件出生的,而且是纯硬件出生的。大家都有共识,国内硬件与国外的差了一大截~更别说软硬件结合的。如果看不到头,来一波人搞下物联网吧!~下面先道道书上关于网络编程的基础知识。
IP
网络每台主机的全球唯一性的逻辑地址。以下引用一下百度知道上IP与MAC的区别:
协议
为进行网络中数据交换而建立的规则、标准或约定(语义+语法+规则)说得直接点就是在数据前面或者后面加入协议头或者协议尾,在协议头当中定义了“”语义+语法+规则“”,在读取数据时按照协议的规则才能正确读取出数据
ISO、OSI( Open System Interconnection)
__应用层 ——>处理网络应用
__表示层——>数据表示
__会话层——>主机间通信
__传输层——>端对端的连接 。TCP UDP 数据报协议。
__网络层——>寻址和最短路径
__数据链路层——>介质访问 (在EtherCat 由ESC ET1100相关电路完成数据链路)
__物理层——>二进制传输 (无非是RJ45 接口,MII 接口芯片等)
TCP/IP 简化模型
应用层+表示层+会话层 = 应用层 ; 数据链路+物理层 = 网络接口。
TCP (面向连接)的socket编程
①加载套接字库
(#include Winsock2.h+Link ws2_32.lib )->创建套接字( socket(AF_INET , SOCK_STREAM/SOCK_DGRAM) , 0 )
②绑定一个本地地址和端口bind(socket ,address ,size)。其中address 由SOCKADDR结构体进行定义。
③ (Listen)将套接字设为监听模式,准备接收客户请求。并设置同时能接受的请求的客户数。监听功能函数名都差不多,在ANDROID 4 java 当中 按钮的监听函数也是 Listener()
④TCP——服务器端通过Acept () 等待客户请求带来,并返回一个带客户端口地址信息的socket ,以后便可用带有客户信息的套接字给客户发送信息。而客户端通过connect ()发起连接请求。
UDP——直接发送信息与接受信息,不需要产生固定连接。
send /recv (TCP ) sento/recvfrom(UDP)
⑤返回,继续等待请求
线程阻塞问题
无论是RECV 还是RECVFROM ,都会BLOCK 程序,如果在同一个程序中同时实现接受与发送数据功能,类似QQ 有接受窗口与发送窗口,可以使用多线程实现功能,不过QQ的两个窗口分开是否有改变的可能?
相关文章推荐
- VC学习笔记之‘HTTP编程’(一)
- VC++ 学习笔记(-)
- 孙鑫VC学习笔记:第十二讲 用C++函数读写文件
- 孙鑫VC学习笔记:第十四讲 网络的基本概念
- 孙鑫VC学习笔记:第十五讲 进程和线程基本概念
- 孙鑫VC学习笔记:第十三讲 生成可串行化的类
- VC++学习笔记2
- 孙鑫VC学习笔记:第十一讲 图形重绘方法二 利用元文件
- 孙鑫VC学习笔记:第十一讲 如何把元文件保存到文件当中
- 孙鑫VC学习笔记:第十三讲 保存可串行化的类对象 如何获取文档与视类指针
- VC++ 学习笔记(二)
- VC学习笔记
- 孙鑫vc学习笔记_第一课
- 孙鑫VC学习笔记:第十二讲 介绍常量指针、指针常量,文本、二进制文件
- 孙鑫VC学习笔记:第七讲
- 学习VC的笔记(一)
- C++(VC 2005)学习笔记
- 孙鑫VC学习笔记:第一讲
- 孙鑫VC学习笔记:第十二讲 读写注册表
- 孙鑫VC学习笔记:第十一讲 图形的保存与重绘方法一