| |
|
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
| -> 网络协议 -> Socket编程 -> 正文阅读 |
|
|
[网络协议]Socket编程 |
1 什么是API????????经常听说API,那么API到底是个什么东西啊?通俗点讲,就是操作系统提供的一系列方法,按照正确的协议和格式,去调用这些方法,就能实现对操作系统的调用(可能是这样的吧)。 在网络编程中,应用层通过应用层协议,来完成应用进程间的通信,但是这些信息的传送,就需要用到操作系统来控制了,从应用层到传输层,就是从应用进程到操作系统了,需要使用到API,而网络编程中常使用的API就是socket套接字了。
?2 Socket
? ? ? ? ?应用层中可能会有多个进程,那么怎么区分不同进程是哪个套接字呢,就是之前提到的端口号。
? ? ? ? ?操作系统是如何管理这些套接字的呢?
? ? ? ? ?那么这么去设置一个套接字?声明变量,初始化结构图。
2.1 Socket常用API函数? ? ? ? socket创建函数:
? ? ? ? ?其中第二个参数套接字的类型,分别面向不同的传输层协议:
? ? ? ? ?Socket关闭函数:
? ? ? ? ?服务器端的监听函数:
? ? ? ? ?客户端链接函数
? ? ? ? ?服务端为了能够实现并发的为客户端提供服务,通常在监听端套接字接受请求后,会开创一个新的套接字与客户进行通信,这样监听套接字就能一直接受请求了,
?
? ?2.2 网络字节转换的问题? ? ? ? 这实际上就是一个数据存储大小端的问题。网络上传输的数据都是字节流,对于一个多字节数值,在进行网络传输的时候,先传递哪个字节?也就是说,当接收端收到第一个字节的时候,它将这个字节作为高位字节还是低位字节处理。
?3 客户端软件设计
?4 服务器软件设计?4.1 循环无连接服务器
?4.2 循环面向连接服务器
?4.3 并发无连接服务器
?4.4 并发面向连接服务器
? |
|
|
| 网络协议 最新文章 |
| 使用Easyswoole 搭建简单的Websoket服务 |
| 常见的数据通信方式有哪些? |
| Openssl 1024bit RSA算法---公私钥获取和处 |
| HTTPS协议的密钥交换流程 |
| 《小白WEB安全入门》03. 漏洞篇 |
| HttpRunner4.x 安装与使用 |
| 2021-07-04 |
| 手写RPC学习笔记 |
| K8S高可用版本部署 |
| mySQL计算IP地址范围 |
|
|
| 上一篇文章 下一篇文章 查看所有文章 |
|
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
| 360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年10日历 | -2025/10/26 8:19:21- |
|
| 网站联系: qq:121756557 email:121756557@qq.com IT数码 |