
网络编程
不吃煎饼_
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C/C++ Socket编程(一)
UNIX/Linux 中的 socket在 UNIX/Linux 系统中,为了统一对各种硬件的操作,简化接口,不同的硬件设备也都被看成一个文件。对这些文件的操作,等同于对磁盘上普通文件的操作,UNIX/Linux 中的一切皆文件!为了表示和区分已经打开的文件,UNIX/Linux 会给每个文件分配一个 ID,这个 ID 就是一个整数,被称为文件描述符(File Descriptor)。例如:...转载 2019-09-29 20:32:40 · 994 阅读 · 0 评论 -
C/C++ Socket编程(二)
Linux下的socket演示程序server.cpp 是服务器端代码,client.cpp 是客户端代码,要实现的功能是:客户端从服务器读取一个字符串并打印出来。服务器端代码 server.cpp:#include <stdio.h>#include <string.h>#include <stdlib.h>#include <unistd....转载 2019-09-29 20:41:52 · 702 阅读 · 0 评论 -
C/C++ Socket编程(三)基本函数
socket():创建套接字不管是 Windows 还是 Linux,都使用 socket() 函数来创建套接字。socket() 在两个平台下的参数是相同的,不同的是返回值。Linux 中的一切都是文件,每个文件都有一个整数类型的文件描述符;socket 也是一个文件,也有文件描述符。使用 socket() 函数创建套接字以后,返回值就是一个 int 类型的文件描述符。Windows 会区...转载 2019-09-29 22:11:25 · 1084 阅读 · 0 评论 -
C/C++ Socket编程(四)
Socket编程实现回声客户端所谓“回声”,是指客户端向服务器发送一条数据,服务器再将数据原样返回给客户端。下面实现 Windows 下的回声程序,Linux 下稍作修改即可。server.cpp#include <stdio.h>#include <winsock2.h>#pragma comment (lib, "ws2_32.lib") //加载 ws2...转载 2019-09-30 10:08:12 · 358 阅读 · 0 评论 -
C/C++ Socket编程(五)
shutdown():优雅地断开TCP连接调用 close()/closesocket() 函数意味着完全断开连接,即不能发送数据也不能接收数据,这种“生硬”的方式有时候会显得不太“优雅”。上图演示了两台正在进行双向通信的主机。主机A发送完数据后,单方面调用 close()/closesocket() 断开连接,之后主机A、B都不能再接受对方传输的数据。实际上,是完全无法调用与数据收发有关的...转载 2019-09-30 10:25:38 · 1106 阅读 · 0 评论 -
C/C++ Socket编程(六)
网络数据的大小端问题不同 CPU 中,4 字节整数 1 在内存空间的存储方式是不同的。4 字节整数 1 可用 2 进制表示如下:00000000 00000000 00000000 00000001有些 CPU 以上面的顺序存储到内存,另外一些 CPU 则以倒序存储,如下所示:00000001 00000000 00000000 00000000若不考虑这些就收发数据会发生问题,因为保存...转载 2019-09-30 10:45:39 · 283 阅读 · 0 评论 -
C/C++ Socket编程(七)
UDP 和 TCPTCP 是面向连接的传输协议,建立连接时要经过三次握手,断开连接时要经过四次握手,中间传输数据时也要回复 ACK 包确认,多种机制保证了数据能够正确到达,不会丢失或出错。UDP 是非连接的传输协议,没有建立连接和断开连接的过程,它只是简单地把数据丢到网络中,也不需要 ACK 包确认。UDP 传输数据就好像我们邮寄包裹,邮寄前需要填好寄件人和收件人地址,之后送到快递公司即可,...转载 2019-09-30 11:00:13 · 325 阅读 · 0 评论 -
OSI网络七层模型 与 TCP/IP模型
OSI网络七层模型 | TCP/IP模型OSI 是 Open System Interconnection 的缩写,译为“开放式系统互联”。OSI模型把网络通信的工作分为 7 层,从下到上分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。OSI 只是存在于概念和理论上的一种模型,它的缺点是分层太多,增加了网络工作的复杂性,所以没有大规模应用。后来人们对 OSI 进行了简化,合...转载 2019-10-08 21:42:17 · 291 阅读 · 0 评论 -
TCP 与 UDP
TCPTCP(Transmission Control Protocol,传输控制协议)是一种面向连接的、可靠的、基于字节流的通信协议,数据在传输前要建立连接,传输完毕后还要断开连接。TCP数据报结构序列号Seq(Sequence Number):占 32 位,用来标识从 计算机A 发送到 计算机B 的数据包的序号,发送的数据是被拆成多个数据包发送,序列号对每个数据包进行编号,接收方根据...原创 2019-10-09 20:39:28 · 270 阅读 · 0 评论