欢迎来到氵一壶灬清酒い的博客

人生三从境界:昨夜西风凋碧树,独上高楼,望尽天涯路。 衣带渐宽终不悔,为伊消得人憔悴。 众里寻他千百度,蓦然回首,那人却在灯火阑珊处。

初识网络编程

网络基础

早先:联机

  

局域网与交换机

  

广播

  主机之间“一对所有”的通讯模式,网络对其中每一台主机发出的信号都进行无条件复制并转发,所有主机都可以接收到所有信息(不管你是否需要),由于其不用路径选择,所以其网络成本可以很低廉。有线电视网就是典型的广播型网络,我们的电视机实际上是接受到所有频道的信号,但只将一个频道的信号还原成画面。在数据网络中也允许广播的存在,但其被限制在二层交换机的局域网范围内,禁止广播数据穿过路由器,防止广播数据影响大面积的主机。

IP地址与IP协议

  • 规定网络地址的协议叫ip协议,它定义的地址称之为ip地址,广泛采用的v4版本即ipv4,它规定网络地址由32位2进制表示
  • 范围0.0.0.0-255.255.255.255
  • 一个ip地址通常写成四段十进制数,例:172.16.10.1

mac地址

head中包含的源和目标地址由来:ethernet规定接入internet的设备都必须具备网卡,发送端和接收端的地址便是指网卡的地址,即mac地址。

  mac地址:每块网卡出厂时都被烧制上一个世界唯一的mac地址,长度为48位2进制,通常由12位16进制数表示(前六位是厂商编号,后六位是流水线号)

广域网与路由器

    

 

 

我们了解的涉及两个程序之间相互通讯的大致分为两类:

第一种应用类:QQ,微信,...需要安装的应用桌面

第二种web类:使用浏览器访问就可以直接使用的应用

客户端:CS架构

c/s即:Client与Server,  客户端与服务器端架构,这种架构也是从用户层面(也可以是物理层面来划分的)

    

浏览器:BS架构

B/S即:Browser与Server     浏览器端与服务器端架构,这种架构是从用户层面来划分的

    

网络编程示例

import socket

#创建服务端socket对象
server = socket.socket()

#绑定IP和端口
server.bind(('192.168.13.155',8000))

#后边可以等待X个
server.listen(5)    #等待五个

print("服务端准备开始接受客户端的链接")
#等待客户端来链接,如果没有就一直等待
#conn 是客户端与服务端连接的对象,服务端以后要通过该对象进行收发数据
#addr 是客户端的地址信息
conn,addr = server.accept()

print("已经有人连接上了,客户端信息:",conn,addr)

#通过对象去获取
data = conn.recv(1024)     #服务端通过对象获取数据时,一次最多取1024字节

print("已经有人发来信息了"data)

#服务端通过连接对象给客户端回复消息
conn.send(b'stop')
#与客户端断开连接
conn.close()
#关闭服务端的服务
server.close()

服务端:

import socket

server = socket.socket()   #实例socket对象

server.bind(('192.168.13.155',8001))

server.listen(5)

while True:
    coon.addr = server.accept()
    #字节类型
    while True:
        data = conn.recv(1024)  #阻塞
        if data == b'exit':
            break
        response = data + b'213'
        conn.send(response)

    conn.close()
服务端.py

客户端:

import socket

sk = socket.socket()
sk.connect(('192.168.13.155',8001))

while True:
    name = input("请输入姓名:")
    sk.send(name,encode(utf-8))  #转换字节
    if name == 'exit':
        Break

    response = sk.recv(1024)  
    print(response.decode('utf-8'))

sk.close()
客户端.py

 

posted on 2018-09-03 17:07  成伤大大  阅读(144)  评论(0编辑  收藏  举报

导航