初识socket

一. 

  C/S架构:客户端(client)/服务端(server)架构

    B/S架构:浏览器(browser) / 服务端(server)架构

 

  软件cs架构:浏览器,qq,微信,陌陌等等

  硬件cs架构:打印机

 

二.   网络通信的整个流程 

  集线器:将所有连接上它的电脑全部联通起来

  交换机:升级版的集线器

  网卡:接收处理电信号

  Mac地址:网络设备的全球唯一标示,又称为物理地址

  Ipv4地址:4个点分十进制 还有ipv6

  作用:划分广播域

  子网掩码:计算ip地址段,或者判断ip地址是否属于同一地址段

  DHCP协议:自动获取ip地址

  DNS:域名解析

  Arp协议:通过ip地址获取mac,因为ip地址不固定,mac是全球唯一的

  路由器:转发消息,管理内网

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

  端口:标示电脑上某个应用程序

  ip地址+端口 = 能够唯一锁定一台电脑和这个电脑上的某个应用程序

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

  NAT技术:网络地址转换,内网ip地址转换为公网或者说外网的ip地址

 

三.     初识socket  (重点)

  Socket : 用于网络通信的模块,独立于语言

  实现两个人即使消息发送 :

   服务端:

import socket
server = socket.socket()
server_ip = ("192.168.12.40",1026)
server.bind(server_ip)
server.listen()
conn,address = server.accept()
while 1 :
    from_client = conn.recv(1024)
    print("高熠超说:",from_client.decode("utf-8"))
    a = input("我说:")
    if a.upper() == "Q":
        break
    else :
        conn.send(a.encode("utf-8"))
conn.close()
server.close()

   客户端:

import socket
client = socket.socket()
client_ip = ("192.168.12.40",1026)
client.connect(client_ip)
while 1 :
    a = input("我说:")
    if a.upper() == "Q" :
        break
    else :
        client.send(a.encode("utf-8"))
        from_server = client.recv(1024)
        print("甜甜说:",from_server.decode("utf-8"))
client.close()

  客户端与服务端实现实时通话功能

Socket:用于网络通信的模块,独立于语言

 

posted on 2019-01-02 18:56  哎呀!土豆  阅读(120)  评论(0编辑  收藏  举报

导航