第一章 理解网络编程和套接字 套接字在网络编程中的作用是什么?为什么称它为套接字? P2,网络编程就是编写程序让两台联网的计算机相互交换数据。在我们不需要考虑物理连接的情况下,我们只需要考虑如何编写传输软件。操作系统提供了名为“套接字”,套接字是网络传输传输用的软件设备 socket英文原意是插座:我们把插头插到插座上就能从电网获得电力供给,同样,为了与远程计算机进行数据传...

名字与地址转换

网络编程  网络编程

  

2020-01-15 05:57:49

概述 常常地,我们都会使用数值地址来表示主机,用数值端口号来标识服务器。然而出于许多理由,我们应该使用名字而不是数值:名字比较容易记住;数值地址可以变动而名字保持不变;随着IPv6上转移,数值地址变得相当长,手工键入数值地址更易出错。本节讲述在名字和数值地址间进行转换的函数: 主机名与IPv4地址之间进行转换:gethostbyname 和 gethostbyaddr 服务名字和端口号之间进行转换...

线程

网络编程  网络编程

  

2020-05-21 01:41:43

概述 在传统的Unix模型中,当一个进程需要另一个实体来完成某事时,它就fork一个子进程并让子进程去执行处理。Unix上的大多数网络服务器程序就是这么编写的:父进程accept一个连接,fork一个子进程,该子进程处理与该连接对端的客户之间的通信。 尽管如此,但是fork调用却存在一些问题: fork是昂贵的。它要把父进程的内存映像复制到子进程,并在子进程中复制所有描述符等等。当今的实现使用称为...

下面是小凰凰的简介,看下吧! 💗人生态度:珍惜时间,渴望学习,热爱音乐,把握命运,享受生活 💗学习技能:网络 -> 云计算运维 -> python全栈( 当前正在学习中) 💗您的点赞、收藏、关注是对博主创作的最大鼓励,在此谢过! 有相关技能问题可以写在下方评论区,我们一起学习,一起进步。 后期会不断更新python全栈学习笔记,秉着质量博文为原则,写好每一篇博文。 文章目录 一、...

网络编程 26(下)阻塞 I/O 线程池模型 目标 一、线程的两个概念 二、阻塞 I/O 线程池模型 服务端 三、CMake 管理当前项目 ① 代码组成 ② 创建并进入 build 目录 ③ 外部编译 四、测试 总结 目标 使用线程池的方式,在服务端启动的同时,预先创建一定数量的线程,等待并处理连接 一、线程的两个概念 锁(mutex):当前线程操作时,其它线程不能进入,保证线程安全 条件变量(c...

网络编程 26_阻塞 I/O 线程模型 目标 一、POSIX 线程模型 1.1 创建线程 1.2 终止线程 父线程终止所有子线程 父线程终止某个子线程 回收已终止线程资源 1.3 分离线程 二、阻塞 I/O 线程模型 服务端 三、CMake 管理当前项目 ① 代码组成 ② 创建并进入 build 目录 ③ 外部编译 四、测试 总结 目标 使用轻量级的线程处理多个连接,为每一个连接创建一个独立的线程...

Java 网络编程

网络编程

  

2019-06-03 10:44:29

网络编程 一、网络编程基础概念 首先理清一个概念:网络编程不等于网站编程,网络编程即使用套接字来达到进程间通信,现在一般称为TCP/IP编程。 计算机网络: 把分布在不同地理区域的计算机与专门的外部设备用通信线路互连成一个规模大,功能强的网络系统,从而使众多的计算机可以方便的互相传递信息,共享硬件,软件,数据信息等资源。 计算机网络的主要功能: 资源共享 信息传输与集中处理 均衡负荷与分布处理 综...

网络编程

网络编程

  

2019-06-17 19:34:39

概述 计算机网络: 是指将地理位置不同的具有独立功能的多台计算机及外部设备,通过通信线路链接起来,在网络操作系统,网络管理软件及网络通讯协议,的管理和协调下,实现资源共享和信息传递的计算机系统 网络编程: 是指就是用来实现,不同计算机上运行的程序间可以进行数据交换 网络模型 计算机间用那种规则进行通信,就是网络模型研究的问题,网络模型一般指 网络七层概述 1.物理层: 主要定义物理设备的标准,如网...

网络编程

网络编程

  

2019-06-28 04:36:23

概述 通过通信线路(有线或无线)可以把不同地理位置且相互独立的计算机连同其外部设备连接起来,组成计算机网络。在操作系统、网络管理软件及网络通信协议的管理和协调下,可以实现计算机之间的资源共享和信息的传递。 网络编程是指用来实现网络互联的不同计算机上运行的程序间可以进行数据交换。对我们来说即如何用编程语言 java 实现计算机网络中不同计算机之间的通信。 网络通信三要素 IP  地址、端口...

一、网络编程概述 1.计算机网络的相关概念 什么是计算机网络? 指分布在不同地域的计算机,通过外部设备连接起来,实现了资源共享(数据和设备的共享),实现数据传输的计算机系统。外部设备有:计算机、路由器、交换机等等。 什么是网络编程? 网络编程关注的是数据的传输,在Java中又称为Socket编程。主要处理计算机与计算机之间的数据通信问题。 计算机网络的三要素: IP地址:(家庭住址)是指互联网协议...

简单的Socket 编程

网络编程

  

2019-07-18 07:23:30

什么是Socket socket的概念有很多,这里介绍的是进行网络中通信的Socket。网络中的通信不仅仅需要知道彼此的主机还要知道彼此通信的进程。网络中是通过IP:端口来实现点对点的通信的。这就是Socket。 Socket 通信流程 首先,服务器先创建Socket 然后绑定端口号进入监听状态。 客户端发送请求时,先创建Socket然后向服务器发送连接请求。 服务端调用Accept()接受连接请...

网络编程笔记-day1

网络编程

  

2019-07-31 00:30:31

网络通信 TCP/IP协议(族) * 链路层(物理层,数据链路层),网络层,传输层,应用层 (会话层,表示层,应用层) 网际层 = 网络层 链路层 = 网络接口层 端口 port 为TCP协议通信提供服务的端口 端口号:端口通过端口号标记。 0 - 65535 端口号的分配: 2.1 知名端口 0 - 1023 2.2 动态端口 0 -65535 80:HTTP 21:FTP IP地址 IP地址被...

文章目录 网络编程模型 主要函数详解 建立套接字 `socket()` 绑定地址 `bind()` 监听 `listen()` 接受请求 `accept()` 连接服务器 `connect()` 发送数据 `send()/sendto()` 接收数据 `recv()/recvfrom()` 网络编程模型 上述模型中,每个概念的含义如下: Socket: 建立 Socket。创建一个 Socket ...

网络编程

网络编程

  

2019-10-09 01:29:10

  网络编程 网络字节序和主机字节序 地址结构 地址和服务转换 TCP IO模型 阻塞输入输出 网络编程 网络编程的学习主要是通过《UNIX网络编程》来学习的,也看了一下《Effective TCP/IP》和一些项目。网络编程在一个项目中占到的比重一般比较小,更重要的是基于网络的功能的实现,但几乎每一个项目都离不开网络。网络编程细节上的东西也比较多,准备在这里记录一下,主要是TCP,有小...

网络编程 06_使用 UDP 协议进行读写 目标 一、发送报文 二、接收报文 三、UDP 通信例子 服务端 客户端 三、CMake 管理当前项目 ① 代码组成 ② 创建并进入 build 目录 ③ 外部编译 四、测试 UDP 例子 场景一:先运行客户端,再运行服务端 场景二:先运行服务端,再运行客户端 场景三:同时开启多个客户端 场景四:中途重启服务器 小结 目标 使用 UDP 协议收发数据,了解...