美文网首页
2.网络编程

2.网络编程

作者: 奉先 | 来源:发表于2019-04-17 11:41 被阅读0次

在服务器响应客户端请求之前,首先会创建一个通信端点,它能够使服务器监听请求。一旦一个通信端点已经建立,监听服务器就可以进入无限循环中,等待客户端的连接并响应它们的请求。

1 套接字(socket)介绍

套接字是计算机网络数据结构.如果一个套接字像一个电话插孔,那么主机名和端口号就像区号和电话号码的组合。一个网络地址由主机名和端口号对组成,有效的端口号范围为0~65535(小于1024的端口号预留给了系统)。
包括两种类型的套接字,基于文件的和基于网络的。其中基于文件的家族的名称是AF_UNIX,基于网络的家族的名称是AF_INET(目前AF_INET 是使用得最广泛,网络编程相关的都是AF_INET)。

1.1 面向连接的和无连接的套接字

第一种是面向连接的,这意味着在进行通信之前必须先建立一个连接,例如,使用电话系统给一个朋友打电话。这种类型的通信也称为虚拟电路套接字。面向连接的通信提供序列化的、可靠的和不重复的数据交付,而没有记录边界。这基本上意味着每条消息可以拆分成多个片段,并且每一条消息片段都确保能够到达目的地,然后将它们按顺序组合在一起,最后将完整消息传递给正在等待的应用程序。实现这种连接类型的主要协议是传输控制协议(TCP)。
为了创建TCP套接字,必须使用SOCK_STREAM 作为套接字类型。
另一种是数据报类型的套接字,它是一种无连接的套接字。这意味着,在通信开始之前并不需要建立连接。此时,在数据传输过程中并无法保证它的顺序性、可靠性或重复性。由于面向连接的套接字所提供的保证(顺序、不重复、不丢失),因此它们的设置以及对虚拟电路连接的维护需要大量的开销。然而,数据报不需要这些开销,即它的成本更加“低廉”。实现这种连接类型的主要协议是用户数据报协议,也是UDP/IP协议。
为了创建UDP 套接字,必须使用SOCK_DGRAM 作为套接字类型。

2.python网络编程

python网络编程主要使用socket模块。

相关文章

  • 2.网络编程

    在服务器响应客户端请求之前,首先会创建一个通信端点,它能够使服务器监听请求。一旦一个通信端点已经建立,监听服务器就...

  • 传统IO,NIO,netty的几种实现方式

    1.未使用 Netty 的阻塞网络编程 2.未使用 Netty 的异步网络编程 3.使用 Netty 的阻塞网络处...

  • 网络编程概述

    网络编程概述 网络编程中有两个主要的问题: 1.如何准确地定位网络上一台或多台主机;定位主机上的特定的应用 2.找...

  • 安卓网络编程系列

    1.网络编程系列第(一)篇---TCP/IP 第一篇主要介绍TCP/IP协议组 2.网络编程系列第(二)篇---h...

  • 了解网络

    重点:1.了解网络中传输的都是二进制数据流. 2.了解网络编程概念. {认识网络: // 网络概念 <1> 经常见...

  • Android 网络编程 目录

    Android 网络编程 目录 Android 网络编程1 Http协议Android 网络编程2 Okhttp缓...

  • Linux网络编程篇之ICMP协议分析及ping程序实现

    Linux网络编程系列: Linux网络编程篇之Socket编程预备知识 Linux网络编程篇之TCP协议分析及聊...

  • RN:网络编程、数据持久化与离线缓存的实现

    目录一. 网络编程二. 数据持久化 1. AsyncStorage是什么 2. 怎么使用AsyncStorage三...

  • 校招准备内容

    主要方向:基础知识+编程能力 计算机和编程基础:计算机基础:1.操作系统;2.网络3.数据库编程语言基础:(Jav...

  • iOS关于HTTP协议和网络编程

    1.网络编程 1>什么是网络编程? 网络编程,是我们iOS程序开发者针对网络模块进行得代码编程,是作为一个资深开发...

网友评论

      本文标题:2.网络编程

      本文链接:https://www.haomeiwen.com/subject/rtigwqtx.html