Linux网络编程之TCP编程
来源:互联网 发布:工商联副主席 知乎 编辑:程序博客网 时间:2024/05/17 23:02
一.概述
TCP(Transmission Control Protocol 传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议。
二.TCP 具有以下特点
1.电话系统服务模式的抽象
2.每一次完整的数据传输都要经过建立连接、使用连接、终止连接的过程
3.可靠、出错重传、且每收到一个数据都要给出相应的确认,保证数据传输的可靠性。
三.TCP 客户端编程
对于 TCP 客户端编程流程,有点类似于打电话过程:找个可以通话的手机(socket() ) -> 拨通对方号码并确定对方是自己要找的人( connect() ) -> 主动聊天( send() 或 write() )-> 或者,接收对方的回话( recv() 或 read() )-> 通信结束后,双方说再见挂电话(close() )。
四.TCP 服务器编程
做为 TCP 服务器需要具备的条件呢?
具备一个可以确知的地址( bind() ):相当于我们要明确知道移动客服的号码,才能给他们电话;
让操作系统知道是一个服务器,而不是客户端( listen() ):相当于移动的客服,他们主要的职责是被动接听用户电话,而不是主动打电话骚扰用户;
等待连接的到来( accept() ):移动客服时刻等待着,来一个客户接听一个。
接收端使用 bind() 函数,来完成地址结构与socket 套接字的绑定,这样 ip、port 就固定了,发送端即可发送数据给有明确地址( ip+port ) 的接收端。
对于 TCP 服务器编程流程,有点类似于接电话过程:找个可以通话的手机(socket() ) -> 插上电话卡固定一个号码( bind() ) -> 职责为被动接听,给手机设置一个铃声来监听是否有来电( listen() ) -> 有来电,确定双方的关系后,才真正接通不挂电话( accept() ) -> 接听对方的诉说( recv() ) -> 适当给些回话( send() )-> 通信结束后,双方说再见挂电话( close() )。
- linux网络编程之TCP编程----初级
- Linux网络编程之TCP编程
- linux网络编程之TCP编程
- Linux网络编程之tcp/ip编程
- Linux网络编程之TCP编程
- 嵌入式Linux网络编程 之 简单的TCP网络编程
- 网络编程之TCP----网络编程(linux----C)
- Linux 网络编程 TCP
- 【Linux网络编程】TCP
- Linux TCP网络编程
- linux TCP网络编程
- Linux网络---TCP编程
- Linux网络编程-TCP
- Linux网络编程-TCP
- Linux网络编程之TCP通信
- Linux 网络编程之TCP(上)
- Linux网络编程之TCP状态转换
- linux网络编程之tcp模板
- js比较两个日期大小
- 2017-12-6 训练营第一天
- chkconfig命令
- 信用如此重要,怎么建立你知道吗?
- adb shell settings
- Linux网络编程之TCP编程
- ssh框架登录注册
- 8月参加工作的程序媛记录
- AWR_最详细解析
- [Shiro入门] (二)缓存管理器SimpleByteSource序列化问题
- oracle vm上安装oracle11g r2 rac(11.2.0.4)
- 层次聚类算法的原理及实现Hierarchical Clustering
- xampp中修改mysql默认空密码(root密码)的方法
- JAVA 8 Stream API 对Stream进行分组、分区