pythonnet-网络编程(1)

传输特点:
不有限支撑传输的可信性
从没连接和断开的进度
多少的首发相比较随便

IPv4:点分十进制

查看本机IP地址:ifconfig  (linux) 

保障的数量传输
可信赖性 : 数据在传输中,无失序 无差错 无遗失 无重复

 

  1. 关门套接字
  1. 等候接受客户端连接

底层套接字 (SOCK_RAM): 访问底层协议套接字

sockfd.bind(addr)
效益 : 绑定地址
参数 : addr —》 元组 (ip,port) (‘0.0.0.0’,1234)

  1. 制造套接字

 

192.168.1.255  广播地址

传输层服务

0.0.0.0  自动使用当地可用网卡IP

  1. 客户端向服务器发送连接请求
  2. 服务器接受到请求举办确认,再次来到确认报文
  3. 客户端收到服务器苏醒最后肯定连接

物理层:物理硬件,接口,网卡的确定

下边看代码,此为客户端代码

OSI七层模型—–>网络通讯的规则流程

链路层

python的互连网编程有不计其数难题,也便于忘记,目前我会陆续发出系统、完整pythonnet知识的博客,一边复习一边享受,感兴趣的可以关怀自我。

套接字序列

数据报套接字(SOCK_DGRAM): 传输层基于udp协议传输
面向无连接不可信赖的传输 udp的传输 数据报套接字

n = connfd.send(data)
职能 : 发送音讯
参数 : 要发送的始末 (bytes格式)
回来值 : 重回实际发送的字节数

应用层

低耦合:尽量下落每个模块之间的关联性

  1. 制造套接字 (和劳动端套接字类型相同)
  2. 发起连接

一遍握手 : 在面向连接的传输服务中树立连接的经过

192.168.1.1  寻常为网关地址

取值范围 : 1—-65535
1-255 一些通用端口 (众所周知的先后占用)
256 –1023 系统端口
1024 — 65535 自用端口 >10000

特殊IP

指标:数据的传导

传输层:提供数据传输服务,进行流量控制

sockfd.listen(n)
功用: 将套接字设置为监听套接字,创设监听队列
参数: 监听队列大小

本土使用:“localhost”  127.0.0.1

socket.socket(sock_family = AF_INET,
sock_type = SOCK_STREAM,
proto = 0)
成效 : 创设套接字
参数 : sock_family 地址族类型 AF_INET ipv4网络通讯
sock_type 套接字类型 SOCK_STREAM 流式
SOCK_DGRAM 数据报
proto 平常为0 选定子协议项目
重回值 : 重临套接字对象

ipython3  进入相互形式

TCP的服务端

目的 :
通过编程语言提供的套接字编程接口,可以更简明的成就基于tcp和udp的编程

分开为五层模型(TCP/IP模型)

获得本机的盘算机名

传输层

应用层(应用层 表示层 会话层)

每部分各司其职。

  1. 新闻的收发

网络编程

  1. 积极方发送报文,告知被动方要断开连接
  2. 被动方回复报文,表示早已吸纳到请求,准备断开
  3. 被动方再度发送报文,表示准备处理妥当,可以断开
  4. 积极发发送确认报文,断开连接

IP地址转换为十六进制表明

* 一个监听套接字可以接连多少个客户端

五遍挥手 : 在面向连接的传输服务站断开连接的经过

流式套接字(SOCK_STREAM):传输层基于tcp的合计通信
面向连接可信的传导 tcp的传输 流式套接字

192.168.1.0  代表当前网段

 

表示层:提供数据的加密和削减优化

传输层:TCP  UDP

互联网层:路由精选,网络互联

socket 套接字编程

  1. 设置监听套接字

 

  1. 绑定地址

 

话不多说,发轫吧。

面向连接的传输服务 —》 tcp协议

互联网有关概念

IP地址

* telnet ip port

import socket

互连网主机:在网络上确定一台主机

 

由此电脑名取得匹配的IP

* 阻塞函数 :
当程序运行到过不去函数地点,假诺某种条件没有达到则暂停程序运行,知道原则达标截止阻塞

互连网协议:在互联网通讯中商量各方必需遵从的规定。如创建什么连接,新闻结构怎样剖析等。

网络层

ISO(国际标准化社团)

物理层:IEEE

域名:互联网服务器地址在网络上的名目

可分割为四层模型

“xxxx”

面向无连接的传输服务 —》 udp协议

connfd,addr = sockfd.accept()
作用 : 阻塞等待处理客户端连接
回去值 : connfd 新的套接字,用于和客户端通讯
addr 连接的客户端的地方 (ip,port)

socket.gethostname()

高聚集:每个模块作用尽量单一,不会七个效益混合

应用层:TFTP HTTP DNS SMTP

b’\xc0\xa8\x01\x02′

ping 172.60.50.182

链路层:提供链路沟通,具体新闻的出殡

 

IPv6:128位

应用景况 : 适用于传输较大的情节或文件,网络可以,要求力保传输可信性的意况
e.g. 聊天音讯 文件的上传下载, 邮件处理
网页获取

套接字 : 落成上述目标的一种编程手段

互联网上规定一台主机的地方

图片 1

互连网连接测试

 

127.0.0.1  本地测试IP

 好了,本小节完,小伙伴们方可利用pycharm(社区版免费)运行试试看,大家下次见!

sockfd.close()

传输层

传输特征:

应用层:提供用户服务,具体的始末由特定的程序规定

互联网地址:”0.0.0.0″   ”172.60.50.54″(本机互连网IP)

端口号:
端口号是地点的一部分,在一个系列中各种互连网利用监听区其余端口,以取得相应端口传递的信息

网络层:IP

会话层:确定建立使用链接,拔取传输服务

OSI模型的亮点:将效用分别,下落网络传输中的耦合度,使支付流程进一步清楚,

物理链路层

四层模型

“127.0.0.1”

socket.inet_aton(‘192.168.1.2’)

图片 2

data = connfd.recv(buffersize)
功能 : 接受音信
参数 : 两次收受消息的尺寸 字节
重返值 : 重返接受到的内容

适用景况 : 互联网状态恐怕爆发丢包,对传输可信性须要低

  1. 新闻收发
  2. 关闭套接字

 

 此为服务端代码:

 

物理层

connect(addr)
作用 : 向服务端发起连接
参数 : 服务端地址 元组

socket.gethostbyname(“localhost”)

e.g. : 网络视频, 群聊,广播等

客户端

网络层

        ipconfig  (windows)

在数额传输前和传导截至后需求树立连接和断开连接

相关文章