九、Python入门-网络编程

网络编程

端口

  总共65535(216)个端口

  知名端口:0-1023

    80-HTTP服务

    21-FTP服务

  动态端口:1024-65535

    不固定分配某种服务

IP地址

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

  分类:A类、B类、C类、D类,区分什么类看子网掩码

  dns:域名解析器 http://14.215.177.39/ = https://www.baidu.com/

  注: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)

 

posted @ 2020-04-15 13:52  Hecarim丶  阅读(253)  评论(0编辑  收藏  举报