笔记

昨日内容回顾1 CS架构  服务端客户端架构:软件CS架构:京东,淘宝,qq,微信,暴风影音,快播硬件CS架构:打印机服务端:提供服务的客户端:享受服务的BS架构:浏览器和服务端:谷歌,360,IE2 网络通信当中遇到的名词 硬件网卡:接收电信号mac地址:网卡的唯一标识,全球唯一,6位点分16进制广播 : 信息发给所有人单播 : 单独发给某个人或者说某个设备广播风暴 : 不安全,容易拥堵网络IP地址 : 划分广播域192.168.15.113 四个点分十进制集线器 : 将所有连电脑连通起来交换机 : 升级版集线器DHCP协议 : 自动分配IP地址划分广播域--> IP网段 : 192.168.15.0 - 192.168.15.255 属于同一子网192.168.16.0 - 192.168.16.255子网掩码 : 计算目标IP地址是否和咱们是同一网段同一网段的:广播发送不同网段的:发送给路由器路由器(内网的作用) : 管理局域网找外部网路的设备:域名:www.jd.com --> IP地址DNS服务器:记录着所有的域名和他网站对应的那台服务器的IP地址的对应关系,理解为一个字典{'www.jd.com':192.168.15.12}网关:在路由器这儿,把关你对外的请求NAT技术: 将你的IP地址,转换为网关的IP地址外网又称为公网 ,网关的IP地址又称为外网IP地址或者公网IP地址路由器(外网的作用) : 转发消息路由协议 : 计算一个最优路径,然后进行路由转发发到京东的路由器上,京东的路由器做了端口映射(看图)端口:标识电脑上某个应用程序,范围0-65535  0-1024 内部程序用的,我们一般使用的都是8000以后的通过IP地址+端口:我就能唯一确定一台电脑上的某个应用程序3 socket看代码实例二 今日内容1. 网络通信协议osi七层,tcp\ip五层tcp\ip五层arp协议:通过IP地址找到mac地址2.tcp和udp的区别tcp协议:面向连接,消息可靠,相对udp来讲,传输速度慢,消息是面向流的,无消息保护边界0udp协议:面向无连接,消息不可靠,传输速度快,消息是面向包的,有消息保护边界.tcp代码和udp代码的区别看代码三 内容回顾

test.py

#作业简单讲解
# 1.时间戳转换为格式化时间的字符串import timewhile 1:t1 = time.time()print(t1)t1_stru = time.localtime(t1)print(time.strftime('%Y/%m/%d',t1_stru))t1_ss = time.strftime('%Y/%m/%d',t1_stru)time.sleep(10)client.send(t1_ss)

udp_客户端.py

import socket
udp_client = socket.socket(type=socket.SOCK_DGRAM)
server_ip_port = ('192.168.15.113',8001)udp_client.sendto(b'hello',server_ip_port)from_server_msg,server_addr = udp_client.recvfrom(1024)
print(from_server_msg)
print(server_addr)udp_client.close()

udp_服务端.py

import socket
#创建一个udp协议下的socket,需要使用参数type
udp_server = socket.socket(type=socket.SOCK_DGRAM) #DGRAM : datagram  数据报
#拿到一个地址,启动程序的时候,告诉电脑,你给我这个程序分配8001端口.
ip_port = ('192.168.15.113',8001)
#绑定IP地址和端口
udp_server.bind(ip_port)print('准备接收消息了...')
#接收消息,from_client_msg来自客户端的消息,client_addr客户端的地址('192.168.15.113', 8001)
from_client_msg,client_addr = udp_server.recvfrom(1024)  #阻塞住了
print(11111)
print(from_client_msg)
print(client_addr)
#发送消息
udp_server.sendto(b'gunduzi',client_addr)
#关闭udp的socket对象
udp_server.close()

练习

1. 路由器,交换机的作用?
2. 用户登录作业用tcp协议下的socket写:1. 服务端- 等待客户端来发送数据:用户名、密码- 本地文件中查看用户名密码是否合法。- 合法:登录成功- 否则:用户名或密码错误2. 客户端- 用户输入:用户名、密码- 发送到服务端进行校验。
3.udp协议下的socket聊天工具(类10086)1. 服务端- 接收客户端发送的信息并作出回复。- 检查是否有某些指定关键字并回复消息,如果发送过来的消息中还有sb字符串,那么将sb替换成alexsb,然后和你要输入的内容组合起来发送给客户端。2. 多个客户端- 客户端向服务端发送信息4.简述 OSI 七层协议。5.名词:mac地址、ip地址、DHCP服务、路由器、交换机、子网掩码、网关、DNS、广播,BS和CS架构6.简述 三次握手、四次挥手的流程7.什么是socket?简述基于tcp协议的套接字通信流程。8.简述TCP和UDP协议的区别

客户端.py

import socket
client = socket.socket()server_ip_port = ('192.168.15.113',8001)#链接服务端
client.connect(server_ip_port)while True:msg = input('明杰想说:')print('22222')#发消息client.send(msg.encode('utf-8')) #send里面的消息必须是字节类型的print('等待接收消息....')from_server_msg = client.recv(1024) #阻塞住,等待接收消息print('接收到了消息')from_server_msg = from_server_msg.decode('utf-8')print(from_server_msg)client.close()

服务端.py

import socket
#创建了一个socket对象
server = socket.socket()  #创建一个手机
ip_port = ('192.168.15.113',8001)  #创建了一张电话卡
#绑定IP地址和端口
server.bind(ip_port) #插上电话卡
#监听IP地址和端口
server.listen(3) #开机,后面等待链接的客户端个数为3个
print(11111)
#等待客户端的链接,
conn, addr = server.accept()  #等着别人给我打电话,阻塞住while True:#接收消息from_client_msg = conn.recv(1024) #1024为消息大小,单位B,MB = 1024KB,1KB = 1024B#接收的消息是bytes类型,需要转换为字符串,这里会阻塞from_client_msg = from_client_msg.decode('utf-8')print(from_client_msg)msg = input('瑞鑫说:')conn.send(msg.encode('utf-8'))
#关闭链接
conn.close()
server.close()# print(conn)
# print('>>>>',addr)

028-2018-1016 协议+socket相关推荐

  1. 协议 + socket import 和 form xx import *的区别 028

    协议 + socket import 和 form xx import *的区别 028 一 . 网络通信协议(了解) 1 . osi 七层协议 (最好记住 面试会问) 应表会传网数物(应用层 表示层 ...

  2. 网络编程2_网络通讯协议, socket(tcp, udp)

    一. 网络通讯协议     互联网协议的功能: 定义计算机如何接入internet, 以及接入internet的计算机的通信标准     互联网协议按照功能的不同分为osi七层或tcp/ip五层    ...

  3. 树莓派TCP传输协议(socket通信) 一发一收与多发多收

    项目场景: 一个物联网系统中,硬件与Web后端的通信肯定是必不可少的.笔者在每个项目中都会自己模拟发送端与接收端来实现树莓派收到的各模块数据能通过TCP协议上传给电脑.笔者在这里提供自己一直都有在用的 ...

  4. Socket 编程实现基于 HTTP 协议的客户和服务

    目录 前言 研究背景及意义 研究内容及方法 研究要求与目标 相关知识点 HTTP协议 TCP协议 UDP协议 Socket编程技术 需求分析 Socket编程 Swing包 多线程的应用 功能设计 功 ...

  5. socket通信 tcp协议和udp协议 C++

    Socket通信学习(套字接) Socket通信主要分两种:TCP协议和UDP协议 TCP:Transmission Control Protocol UDP:User Datagram Protoc ...

  6. 四、SOCKET 协议

    SOCKET 协议 Socket 是传输层协议的具体软件实现,它封装了协议底层的复杂实现方法,为开发人员提供了便利的网络连接.Socket 是网络编程的基石,像 Http 的请求,MySQL 数据库的 ...

  7. 25. Python语言 Web 开发 之 Socket 编程 · 第一章 UDP发送与接收数据

    UDP发送与接收数据 本章主题 关键词 前导: 计算机网络的发展及基础网络概念 两台电脑的通信 IP地址介绍及分类 IP地址与IP协议 Windows 和 Linux 查看网卡信息 IP地址分类 以太 ...

  8. 微服务 Rpc和Rest协议

    接口调用通常包含两个部分,序列化和通信协议.常见的序列化协议包括json.xml.hession.protobuf.thrift.text.bytes等:通信比较流行的是http.soap.webso ...

  9. python进程socket通信_Python Socket TCP双端聊天功能实现过程详解

    SOCKET编程 socket(套接字):是一个网络通信的端点,能实现不同主机的进程通信, -通过IP+端口定位对方并发送消息的通信机制 分为UDP和TCP 客户端Client: 发起访问的一-方 服 ...

最新文章

  1. Swift 中 insetBy(dx: CGFloat, dy: CGFloat) - CGRect 用法详解
  2. 6-5-树的双亲表示法-树和二叉树-第6章-《数据结构》课本源码-严蔚敏吴伟民版...
  3. python3 返回当前星期几 中文
  4. 【CV】使用直方图处理进行颜色校正
  5. 计算机360浏览器的大小,360安全浏览器8.1电脑正式版
  6. SecureCRT提示----数据库里没找到防火墙“无”----解决方案
  7. 作者:胡青青(1984-),女,现就职于中国人民银行征信中心数据部,主要研究方向为数据挖掘。...
  8. 教你学习CI框架codelgniter——CI框架基本配置
  9. dreamweaver排列顺序怎么用_「化妆教程」粉底液是怎么用的?用在哪个具体步骤顺序...
  10. 认识接口(Interface)设计
  11. 灵悟礼品网上专卖店——第二阶段任务面板
  12. 统计通话次数和时间的软件_通话时间统计app下载
  13. python泊松_python实现泊松图像融合
  14. 告别切图标注-Sketch/PS+Zeplin
  15. 【交流学习】厦门大学到福州大禹电子交流超声波水下通讯技术
  16. 【JS】446- 你不知道的 map
  17. python游戏开发框架_Python游戏开发:数字华容道
  18. ASP+Access的安全隐患及对策(转)
  19. 某个偏锥面跟平面的交线
  20. 两本小书的命运 --- 记《Effective STL》和《The Art Of Deception》两本书的出版翻译过程

热门文章

  1. 计算机图形学头歌实训平台作业OpenGL二维几何变换
  2. 用python爬取网易云排行榜歌曲
  3. autoit3中有关Send的用法
  4. 浅谈CSS3中的box-sizing(content-box与border-box)
  5. 后疫情时代,小投资大回报的轻资产项目,Ai智能金刚指欢迎您的考察加盟
  6. 一套详细的安卓软件反编译教程
  7. 腾讯To B变动:汤道生、邱跃鹏有新任命,李强也来了
  8. 美团外卖系统架构演进与稳定性的探索
  9. python外星人入侵游戏代码_黄哥Python:猜数字游戏代码
  10. 3、EasyExcel介绍