欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

九、Python入门-网络编程

程序员文章站 2022-06-21 23:32:11
网络编程 端口 总共65535(216)个端口 知名端口:0-1023 80-HTTP服务 21-FTP服务 动态端口:1024-65535 不固定分配某种服务 IP地址 ip:网络地址和主机地址组成 分类:A类、B类、C类、D类,区分什么类看子网掩码 dns:域名解析器 http://14.215 ......

网络编程

端口

  总共65535(216)个端口

  知名端口:0-1023

    80-http服务

    21-ftp服务

  动态端口:1024-65535

    不固定分配某种服务

ip地址

  ip:网络地址和主机地址组成

  分类:a类、b类、c类、d类,区分什么类看子网掩码

  dns:域名解析器  = 

  注:127.0.0.1表示本机ip

tcp和udp

  tcp:(传输控制协议),通信之前必须建立可靠的连接,通信过程可以简略的描述成三次握手,四次挥手

     通过下面一段话进行理解:

      三次握手:是a吗->是的,我是a->确定是a了->开始聊天

      四次挥手:我下线了->好的->下次聊->好的->断开连接      

  udp:不需要建立连接,尽可能快速的将信息扔到网络上,多用来广播

socket

  socket是应用层与tcp/ip协议族通信的中间软件抽象层,它是一组接口。

#服务器
import socket

server=socket.socket()
server.bind(("localhost",6969)) #绑定
server.listen()    #监听连接

print("等待消息...")
con,addr=server.accept() #等待消息
print("连接上了")
print("con:",con)
print("addr:",addr)

data=con.recv(1024)
print("接收到:",data)

server.close()
#客户端
import socket

client=socket.socket() #生成socket连接对象
client.connect(("localhost",6969)) #和服务器建立连接
client.send("hellow world".encode())#向对方发送数据
client.close()

  con: <socket.socket fd=704, family=addressfamily.af_inet, type=socketkind.sock_stream, proto=0, laddr=('127.0.0.1', 6969), raddr=('127.0.0.1', 9523)>  
  addr: ('127.0.0.1', 9523)