linux网络编程的基础说明

首先我们必须得了解清楚什么是网络编程,以及网络编程的作用有哪些,当然了,最重要的还是我们的得了解清楚它的原理和应用过程

1:网络编程从大的方面说就是实现对信息的发送和接收,中间传输是物理线路的作用。

2:网络编程最主要的工作就是发送端把信息通过规定好的协议进行组装包,在接收端通过规定好的协议把包进行解析,从而提取出对应的信息,达到通信的目的。中间最主要的就是数据包的组装,数据包的过滤,数据包的捕获,数据包的分析。

3:网络编程的含义:使用套接字来达到进程间的通信,从而实现多台计算机间的通信。

网络编程的三大要素:

(1):IP地址:网络中每一台计算机的唯一标识,通过IP地址找到指定的计算机。

(2):端口:用于标识进程的逻辑地址,通过端口找到指定进程。

(3):协议:定义通信规则,符合规则则可以通信,不符合的话则不能通信。

用生活中的列子来说明:假如我要和小明说话,首先我要找到小明的住址来找到小明(相当于通过IP地址来找到指定的计算机),之后我要和小明说话,小明用耳朵听我说(相当于用端口来接收),而我们对话不能用鸟语,需要作出规定彼此都要使用都能听懂的普通话(这就是协议的作用)。


网络编程的实际含义就是通过套接字来实现进程间通信的目的。

套接字(socket):
套接字,是支持TCP/IP的网络通信的基本操作单元,可以看作是不同主机之间的进程进行双向通信的端点,简单的说就是通信的两方的一种约定,用套接字中的相关函数来完成通信过程。:Socket=Ip address+ TCP/UDP port。每一个套接字都组合进了IP 地址、端口、端口号,这样形成的整体就可以区别每一个套接字。

套接字是网络通信的基本构件,提供了不同主机间进程双向通信的端点, 如同电话,只有当一方拨通另一方时,双方能建立对话,而套接字正好比双方的电话。通过Sockets 编程,程序可以跳过复杂的网络底层协议和结构,直接编制与平台无关的应用程序。

 要通过Internet 进行通信,至少需要一对套接字,其中一个运行在客户端,称之为ClientSocket ,另一个运行于服务器端面,称为ServerSocket 。根据连接启动的方式以及本地要连接的目标,套接字之间的连接过程可以分为三个步骤:服务器监听、客户端请求、连接确认。 


具体连接过程如下:

首先说明一下服务器端和客户端的程序设计模式:

服务器端的程序设计模式:流程主要分为 套接字初始化(socket()),套接字与端口的绑定(bind()),设置服务器的侦听连接(listen()),接受客户端连接(accept()),接收和发送数据(read()  write())并进行数据处理及处理完毕的套接字关闭(close())。                                                                                                                                                                  客户端的程序设计模式: 流程主要分为  套接字初始化(socket()),连接服务器(connect()),读写网络数据(read()  write())并进行数据处理及处理完毕的套接字关闭(close())。 

客户端和服务器在连接,读写数据,关闭过程中有交互过程,具体的交互过程如下图所示:


具体的每一个函数功能就不在这里一一说明了,都可以直接百度到,通过网络编程就可以实现不同主机之间的信息交流,这也是每一款聊天工具的最基础设施。








  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值