soekct实践编程1

来源:互联网 发布:javascript跳转新页面 编辑:程序博客网 时间:2024/06/07 08:03

《朱老师物联网大讲堂》学习笔记               

学习地址:www.zhulaoshi.org

 

为什么socket要bind,
我的理解是,
socket代表一个网络”文件“,
而网络是一种抽象的格局,还没有涉及到具体是哪一个实体,
而bind后,这台电脑就作为这个抽象格局的表现者,

 


struct sockaddr
包含了int和int6,因此兼容ipv4和ipv6,

struct sockaddr_in 代表ipv4,

 

htonl,

htons,

ntohl,

ntohs,

 

下面这部分直接贴老师笔记,

3.9.8.socket实践编程3
3.9.8.1、客户端发送&服务器接收
3.9.8.2、服务器发送&客户端接收
3.9.8.3、探讨:如何让服务器和客户端好好沟通
(1)客户端和服务器原则上都可以任意的发和收,但是实际上双方必须配合:client发的时候server就收,而server发的时候client就收
(2)必须了解到的一点:client和server之间的通信是异步的,这就是问题的根源
(3)解决方案:依靠应用层协议来解决。说白了就是我们server和client事先做好一系列的通信约定。


3.9.9.socket编程实践4
3.9.9.1、自定义应用层协议第一步:规定发送和接收方法
(1)规定连接建立后由客户端主动向服务器发出1个请求数据包,然后服务器收到数据包后回复客户端一个回应数据包,这就是一个通信回合
(2)整个连接的通信就是由N多个回合组成的。

3.9.9.2、自定义应用层协议第二步:定义数据包格式
3.9.9.3、常用应用层协议:http、ftp······
3.9.9.4、UDP简介

 

0 0
原创粉丝点击