美文网首页
python网络编程概述

python网络编程概述

作者: He | 来源:发表于2018-08-15 08:22 被阅读0次
image.png

说起网络编程就必须要提到套接字了,套接字是用来连接不同计算机的应用程序。例如:小王要给小张发送一条信息,他是要发到小张计算机的哪个应用程序上去呢,只有将特定的应用程序绑定一个端口,然后小王绑定端口之后再给小张发过去,这就实现了计算机之间不同软件之间的互联。

套接字最早起源于Unix系统,一开始使用与一台电脑之间的进程间通讯,目前套接字分为两种,基于文件型和基于网络型。其中一台主机的进程间是通过基于文件的套接字进行通讯(AF_UNIX或者AF_LOCAL)。而还有一种基于网络的,可用于不同主机之间的通信(AF_INET和AP_INET6),AF_INET是用于IPV4,而AF_INET6是用于IPV6。

套接字还分为面向连接的和无连接的:
第一种是指TCP类型套接字,在通信前需要建立连接,这种连接是较为可靠的,使用的套接字类型是SOCK_STREAM,TCP传输控制协议,经常和IP协议一起使用,称为TCP/IP协议
第二种主要指UDP类型的套接字,无需连接就可以进行通讯,所有速度较快,但是可靠性不高。而且数据是整个发送,不会分成小块。使用的套接字类型是SOCK_DGRAM,UDP协议通常也与IP协议一起使用
常见的套接字操作有:

bind((hostname, port))
绑定地址(注意这里是元祖)到套接字
listen()
开启TCP监听
accept()
被动接受客户端的连接(阻塞)
客户端套接字

connect((hostname, port))
初始化TCP服务器连接
connect_ex()
connect()的扩展版本,出错时返回错误码,而不是异常
公用的套接字

recv()
接收TCP的数据
send()
发送TCP数据
sendall()
发送完整的TCP数据
recvfrom()
接收UDP数据
sendto()
发生UDP数据,因为没有连接,所以这里要指定发送的目标
getpeername()
连接到当前套接字的远程地址
getsockname()
当前socket地址
getsockopt()
获得套接字的参数
setsockopt()
设置套接字的参数
close()
关闭套接字
面向模块的套接字函数

setblocking()
设置套接字是否是阻塞模式
settimeout()
设置阻塞套接字操作的超时时间
gettimeout()
得到阻塞套接字操作的超时时间
面向文件的套接字函数

fileno()
套接字的文件描述符
makefile()
创建一个与套接字关联的文件对象

相关文章

  • python网络编程概述

    说起网络编程就必须要提到套接字了,套接字是用来连接不同计算机的应用程序。例如:小王要给小张发送一条信息,他是要发到...

  • Python网络编程概述

    网络中的术语解释 TCP和UDP的区别 是否连接: TCP面向连接(发送数据之前需要建立连接,三次握手).UDP面...

  • 关于python3 网络编程

    关于python3 网络编程 (1)关于网络编程的概述 通过物理的方式,将零散的...

  • 网络编程概述

    一、网络通信协议 定义:对数据的传输格式、传输效率、传输步骤等做了统一规定,通信双方必须同时遵守才能完成数据交换,...

  • 网络编程 - 概述

    首先看一张经典的图: 一、网络链路层 1.以太网协议 以太网协议确定了一系列的约定,让一股又一股的电流能够传递信息...

  • 网络编程 - 概述

    网络模型OSI(Open System Interconnection 开放系统互连)参考模型物理层主要定义物理设...

  • 网络编程概述

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

  • Python学习总结【连载】(十一)

    Python学习总结【连载】(十一) 2018.06.26 Juttachen 概述 + 36 类的概述 编程思想...

  • Chapter 12 . 网络编程

    阅读原文 Chapter 12 . 网络编程 12.1网络编程概述 • Java是 Internet ...

  • Java基础知识---网络编程(TCP/UPD/URL)

    版权声明:本文为小斑马伟原创文章,转载请注明出处! 一、网络编程概述 网络编程的概述:Java是 Internet...

网友评论

      本文标题:python网络编程概述

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