码迷,mamicode.com
首页 > 其他好文 > 详细

网络编程

时间:2018-12-09 18:54:28      阅读:231      评论:0      收藏:0      [点我收藏+]

标签:port   image   opened   nec   serve   .so   src   info   copy   

 网络开发的架构:

  • C/s   client/server

  • B/s    client/server

  • B/s架构更好

认识网络

  • 网卡 -- mac地址

  • 每台机器在网络中除了有一个mac地址生效,还有一个ip地址

  • 有交换机和路由器

  • 端口:通过某一个固定的端口定位到机器上的某一个应用

  • 每一台机器有很多个端口,最大的端口是65535  范围是0--65535

交换机的工作方式:

  • 单播\广播\组播

  • arp协议:通过ip找mac

  • 交换机 --->广播  将要找的机器的信息发给局域网内的所有机器

  • 交换机 ---->单播  返回要找的那台机器

  • 交换机的工作机制: 只认识mac地址,广播\单播\组播

ip协议:

  • ipv4:  4位点分十进制
  • ipv6: 6位点分十六进制

路由器的工作机制:

  • 路由表,认识ip地址

传递信息的方式:

  • Tcp协议: 可靠的\面向连接的\慢
  • UDP协议: 不可靠的\无连接的\快

TCP与UDP的区别

技术分享图片

osi七层模型

技术分享图片

 TCP/IP五层协议

技术分享图片

 

 

 

 

 

 

 

套接字(socket)初使用

  • 基于TCP协议的socket

    • server端

      •   技术分享图片
        技术分享图片
        import socket
        sk = socket.socket()
        sk.bind((‘127.0.0.1‘,8898))  #把地址绑定到套接字
        sk.listen()          #监听链接
        conn,addr = sk.accept() #接受客户端链接
        ret = conn.recv(1024)  #接收客户端信息
        print(ret)       #打印客户端信息
        conn.send(b‘hi‘)        #向客户端发送信息
        conn.close()       #关闭客户端套接字
        sk.close()        #关闭服务器套接字(可选)
        技术分享图片
    • client端 

      • 技术分享图片
        技术分享图片
        import socket
        sk = socket.socket()           # 创建客户套接字
        sk.connect((‘127.0.0.1‘,8898))    # 尝试连接服务器
        sk.send(b‘hello!‘)
        ret = sk.recv(1024)         # 对话(发送/接收)
        print(ret)
        sk.close()            # 关闭客户套接字





网络编程

标签:port   image   opened   nec   serve   .so   src   info   copy   

原文地址:https://www.cnblogs.com/hard-up/p/10092268.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!