初识网络编程

交互方式

  基于同一台机器上的多个程序之间通信,可基于文件

  基于多台机器之间的通信,可基于网络

Web程序的两种构架

  C/S Client(客户端) Server(服务端)

  B/S Browser(浏览器) Server(服务端)

  浏览器本身也是客户端的一种

Mac地址

  唯一标识一台机器  12位16进制

协议

  IP协议

    IPv4协议 32位二进制4点分十进制

    IPv6协议 6冒分16进制组成

    交换机不识别IP地址,因此会一对所有广播,之后一对一单播

    交换机会完成:地址解析协议 arp协议

      通过IP地址找到一台机器的Mac地址

      交换机的广播与单播功能

    rap协议:通过IP地址找到Mac地址

局域网概念

  路由器:能做到局域网与局域网之间的通信

网关IP概念

  IP地址另一个作用:区分区域网所在的IP范围

  在一台机器访问局域网外时使用的出口IP

IP地址

  比Mac简易,随机不固定,可按照区域划分

  IP地址+Mac地址确认机器

  127.0.0.1 本地的回环地址

  0.0.0.0 全网段地址

端口

  确认本机器上的具体应用

  帮助我们查找机器上的对应服务 

  范围:0-65535

  惯用端口:80,8000之后

子网掩码

  以相与来确认IP地址的所在范围

socket

  所有的网络通信的底层均是基于socket做的

  可使用socket模块来实现

import socket
sk
=socket.socket()#创建一个socket对象 sk.bind(('127.0.0.1',10086))#绑定一个服务端地址,必须为元组(ip,端口) sk.listen()#开始接受客户端给我的连接 conn,addr=sk.accept()#阻塞 conn.send(b'welcome 10086')#给连我的人发消息 msg=conn.recv(1024)#阻塞:直到从连我的人那里就收消息 print(msg)#打印消息 conn.close()#关闭 挂电话 sk.close()#关闭 关机

而与之对应的

import socket
sk
=socket.socket() sk.connect(('127.0.0.1',10086)) msg=sk.recv(1024) print(msg) txt=input('>>>') sk.send(txt.encode('utf-8')) sk.close()

猜你喜欢

转载自www.cnblogs.com/lttlpp61007188/p/10671084.html
今日推荐