Socket TCP UDP
socket-套接字。用于描述IP地址和端口,是一个通信链的句柄,可以用来实现不同虚拟机或不同计算机之间的通信。在Internet上的主机一般运行了多个服务软件,同时提供几种服务。每种服务都打开一个Socket,并绑定到一个端口上,不同的端口对应于不同的服务。网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket。建立网络通信连接至少要一对端口号(socket)。socket本质是编程接口(API),对TCP/IP的封装。TCP/IP也要提供可供程序员做网络开发所用的接口,这就是Socket编程接口;HTTP是轿车,提供了封装或者显示数据的具体形式;Socket是发动机,提供了网络通信的能力。
TCP--TCP/IP协议是传输层协议,发送数据之前需要建立三层连接。主要解决数据如何在网络中传输,而HTTP是应用层协议,主要解决如何包装数据。TCP和UDP使用该协议从一个网络传送数据包到另一个网络。TCP面向连接,是通过将数据分散成字节码进行传输的。是可靠的传输,能确定直到另一端是否收到数据。TCP提供可靠的服务。也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达。TCP面向字节流,实际上是TCP把数据看成一连串无结构的字节流。每一条TCP连接只能是点到点的。
UDP-也是在传输层,发送数据之前不需要建立连接,就是发送的负责发送,接收的负责接收,无法确认另一端是否能收到或者是否正确收到,丢包是不可知的。UDP是面向报文的,UDP支持一对一,一对多,多对一和多对多的交互通信。
TCP:
TCP编程的服务器端一般步骤是:
1、创建一个socket,用函数socket();
2、设置socket属性,用函数setsockopt(); * 可选
3、绑定IP地址、端口等信息到socket上,用函数bind();
4、开启监听,用函数listen();
5、接收客户端上来的连接,用函数accept();
6、收发数据,用函数send()和recv(),或者read()和write();
7、关闭网络连接;
8、关闭监听;
TCP编程的客户端一般步骤是:
1、创建一个socket,用函数socket();
2、设置socket属性,用函数setsockopt();* 可选
3、绑定IP地址、端口等信息到socket上,用函数bind();* 可选
4、设置要连接的对方的IP地址和端口等属性;
5、连接服务器,用函数connect();
6、收发数据,用函数send()和recv(),或者read()和write();
7、关闭网络连接;
UDP:
与之对应的UDP编程步骤:
UDP编程的服务器端一般步骤是:
1、创建一个socket,用函数socket();
2、设置socket属性,用函数setsockopt();* 可选
3、绑定IP地址、端口等信息到socket上,用函数bind();
4、循环接收数据,用函数recvfrom();
5、关闭网络连接;
UDP编程的客户端一般步骤是:
1、创建一个socket,用函数socket();
2、设置socket属性,用函数setsockopt();* 可选
3、绑定IP地址、端口等信息到socket上,用函数bind();* 可选
4、设置对方的IP地址和端口等属性;
5、发送数据,用函数sendto();
6、关闭网络连接;
转载于:https://www.cnblogs.com/KL2016/p/11182855.html
Socket TCP UDP相关推荐
- 【Socket网络编程】0.socket TCP/UDP 可参考 【lx青萍之末】 的 【Linux网络编程 】系列博客
关于socket TCP/UDP 相关知识 可参考博主[ lx青萍之末] 的 [Linux网络编程 ]系列博客 https://blog.csdn.net/daaikuaichuan/category ...
- 【Java 网络编程】Socket TCP UDP 联系
文章目录 I 信息传输关注点 II Socket 与 TCP UDP 关系 III Socket 连接组成 ( IP地址 + 端口号 ) IV Socket TCP V Socket UDP VI C ...
- Android使用Socket(Tcp/Udp)协议进行数据传输(传输大文件)
先揭晓一下前面天的抽奖活动中奖人员: 恭喜这位同学中奖,麻烦你在微信公众号留言你的收货地址,或者加入QQ群:417046685 来找我也行. 同时,知识星球的活动还在继续,现在加入知识星球立即赠送技术 ...
- 网络编程2_网络通讯协议, socket(tcp, udp)
一. 网络通讯协议 互联网协议的功能: 定义计算机如何接入internet, 以及接入internet的计算机的通信标准 互联网协议按照功能的不同分为osi七层或tcp/ip五层 ...
- php udp发送和接收_php socket通信(tcp/udp)实例分析
本文实例讲述了php socket通信(tcp/udp)方法.分享给大家供大家参考,具体如下: 注意 1.在socket_bind的时候ip地址不能真回环地址如127.0.0.1 2.server.p ...
- Linux Kernel TCP/IP Stack — Socket Layer — TCP/UDP Socket 网络编程
目录 文章目录 目录 TCP/UDP Socket 逻辑架构 创建 Socket 绑定 Socket 请求建立 Socket 连接 监听 Socket 接受请求 关闭连接 数据的发送和接收 send ...
- [网络] SOCKET, TCP/UDP, HTTP, FTP
(一)TCP/UDP,SOCKET,HTTP,FTP简析 TCP/IP是个协议组,可分为三个层次:网络层.传输层和应用层: 网络层:IP协议.ICMP协议.ARP协议.RARP协议和BOOTP协议 传 ...
- Java TCP/UDP socket 编程流程总结
最近正好学习了一点用java socket编程的东西.感觉整体的流程虽然不是很繁琐,但是也值得好好总结一下. Socket Socket可以说是一种针对网络的抽象,应用通过它可以来针对网络读写数据.就 ...
- HTTP,FTP,TCP,UDP及SOCKET
一.TCP/IP协议简析 TCP/IP是个协议组,可分为三个层次:网络层.传输层和应用层: 网络层:IP协议.ICMP协议.ARP协议.RARP协议和BOOTP协议 传输层:TCP协议与UDP协议 应 ...
最新文章
- group by很多字段是不是会很慢_面试官:数据量很大,分页查询很慢,有什么优化方案?...
- 理解Python中的类对象、实例对象、属性、方法
- gsm,gprs,cmwap,cmnet,3g,TD-SCDMA,CDMA2000,WCDMA
- spring 缓存(spring自带Cache)(入门)源码解读
- Android studio gradle task list 不显示问题
- Golang实践录:生成版本号和编译时间
- sql server 查询重复的数据
- SqlServer 更新/新增一条语句,返回其中某一列的值 inserted,@@IDENTITY()
- 平时使用比较多的js脚本
- Apache与Subversion的简单配置(Apache SVN版本控制)
- python qq群管理_Python selenium 加载并保存QQ群成员,去除其群主、管理员信息的示例代码...
- WIFI密码破解笔记
- windows大文件查找清理工具wiztree
- 读《创业36条军规》(七)领导要有预见性
- 当电竞在亚运会绽放,玩家也从此有了信仰
- 华为云weblogic10.3.6打补丁
- 自己动手做Arduino玩具(三)
- 每个人都应该遵循的12个 SEO 最佳实践
- UV-LED紫外消毒灯可以有效灭杀气溶胶中附着的新冠病毒
- 以前写的破代码,不忍心扔