初探网络

一.架构

1.c\s

  客户端(client):享受服务端提供的服务

  服务端(server):给客户端提供服务

2.b\s(c\s中的一种)

  浏览器(Browser):浏览器打开

  服务端(server):给可无端提供服务

二.网络通信的整个流程

    集线器:将所有插在集线器上的电脑连通起来(广播风暴)

  交换机:集线器的升级版

  网卡:接收电信号

  网络插口:插网线的地方

  mac地址(物理地址): ‎50-7B-9D-94-0D-17  全球唯一的,前三位厂商编号,后三位生产流水号

  ip地址:192.168.12.136  四个点分十进制组成(同一局域网内是唯一的)

  DHCP协议:自动动态分配IP地址

  子网掩码:计算是否属于同一网段,同一子网

  DNS服务器:域名解析,用于把域名转换成ip地址的

  arp协议:通过ip地址获取mac地址 

  路由器:管理网络,连通外网,并且路由转发,就是转发消息

  路由器协议:计算转发消息的最优路径

  端口:电脑上的程序用的,创建电脑上程序的唯一标识

  网关:把关用的,所有对外的请求都要经过网关

  NAT技术:网络地址转换,内网ip地址转换为外网ip地址

三.socket模块初识

1.server大概流程

  先创建一个socket对象,再设置一个ip和端口绑定在socket对象,等待接听.

import socket

server = socket.socket()
ip_port = ("192.168.12.136",8888)
server.bind(ip_port)
server.listen(3)
conn,addr = server.accept()
while 1:
    from_client_msg = conn.recv(1024).decode("utf-8")
    print("收到信息:",from_client_msg)

    if from_client_msg == "bye":
        break

    to_client = input("请输入你要回复的信息:")
    conn.send(to_client.encode("utf-8"))

    if to_client == "bye":
        break

conn.close()
server.close()

2.client大概流程

  先创建一个socket对象,然后拨ip和端口,再接通

import socket

client = socket.socket()
server_ip_port = ("192.168.12.136",8888)
client.connect(server_ip_port)

while 1:
    to_server = input("请输入你要发的信息:")
    client.send(to_server.encode("utf-8"))

    if to_server == "bye":
        break

    from_server_msg = client.recv(1024).decode("utf-8")
    print("收到回复:",from_server_msg)

    if from_server_msg == "bye":
        break

client.close()
posted @ 2019-01-02 18:49  雾霾1024  阅读(194)  评论(0编辑  收藏  举报