《TCP/IP网络编程》第4章 笔记&代码&注释

TCP

TCP Transmission Control Protocol 传输控制协议,意为对数据传输过程的控制。

TCP/IP 协议栈

TCP/IP 协议栈分四层:

  1. 应用层
  2. TCP层/UDP层
  3. IP层
  4. 链路层

根据2.的TCP套接字还是UDP套接字收发数据,他们的协议栈各不相同。

链路层

物理连接领域标准化的结果,是最基本的领域,定义LAN、WAN、MAN等网络标准。

IP层

IP本身是面向消息、不可靠的协议,每次传输数据他来选择路径,但并不一致,如若发生路径错误,则会选择其他路径;若数据丢失,则无法解决。

TCP层/UDP层

TCP保证可靠的数据传输,他发送数据时以IP层为基础。

UDP则不保证数据传输的可靠性。

根据应用性质选择使用TCP/UDP层。

应用层

根据程序特点性质决定服务器和客户端之间的数据传输规则。

基于TCP服务器端/客户端

socket()bind()listen()accept()

read()/write()  Linux

recv()/send() Windows

close()
创建套接字分配套接字地址等待连接请求状态允许连接数据交换断开连接

listen()进入等待连接请求状态

SOCKET hServerSock;
//......
listen(hServerSock, 5);//Windows

第一个参数:套接字的句柄。

第二个参数,等待队列的长度,这里的5表示最多五个链接请求进入队列。

实现迭代服务器/客户端

第一章中,服务器处理了一次客户端的连接请求就结束了运行,listen()中第二个参数没有多大意义。

为了多次处理,需要编写迭代服务器端/客户端。

回声(echo)服务端/客户端

socket()bind()listen()accept()

read()/write()  Linux

recv()/send() Windows

close()
创建套接字分配套接字地址等待连接请求状态(回到这里)允许连接数据交换断开连接(回到listen()运行后状态)

代码:

https://github.com/ChristmasError/TCP-IP-Network-programming/tree/master/%E7%AC%AC%E5%9B%9B%E7%AB%A0%20%E5%9F%BA%E4%BA%8ETCP%E7%9A%84%E6%9C%8D%E5%8A%A1%E5%99%A8%E7%AB%AF%26%E5%AE%A2%E6%88%B7%E7%AB%AF

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值