博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
day32
阅读量:5317 次
发布时间:2019-06-14

本文共 1479 字,大约阅读时间需要 4 分钟。

udp(用户数据包协议)

''' 高并发(同时有大量客户端访问服务器,服务器处理不过来) ​ OSI模型中,属于传输层得协议,仅用于不要求可靠性,以及不要求分组顺序且数据量较小的简单传输,力求快 ​ 通讯流程类似对讲机 只管发送不管对方是否接收到,甚至不关心对方存在 ​ UDP可以处理多个客户端,但是并不是真正的同时处理,而是按顺序处理,速度非常快,感觉像是同时处理,这叫并发 ​ 并发: 并行:真正的同时运行,必须由多个执行单位 高并发(同时有大量客户端访问服务器,服务器处理不过来) '''

DNS(域名解析服务器)

''' 将域名转换为ip的,DNS本质上就是一个数据库,里面存储了域名和ip的对应关系 ​ DNS是C/S结构的server端 DNS 使用的是UDP 协议 因为 传输的数据小 但对速度要求高 一个DNS要服务很多计算机 ​ 域名:域名是一串有规律的字符串 www.baidu.com .com 顶级域名 .baidu 二级域名 负载均衡服务器: 集群 '''

进程(一个正在运行的程序)

''' 进程来自于操作系统系统,没有操作系统就没有进程 ​ 操作系统:也是一套软件,主要功能控制硬件,隐藏复杂的硬件的细节,将无序的竞态变成有序 ​ ​ 多进程 多道技术: 1.空间复用 2.时间复用 注意:并不是多道就一定提高了效率,如果多个任务都是纯计算,那么切换反而降低了效率 遇到I/O操作才应该进行切换,这样才能提高效率 '''

服务器

import socket import time ​ #udp套接字 udpSocket = socket.socket(socket.AF_INET,socket.SOCK_DGRAM) udpSocket.bind(('127.0.0.1',1688)) # clients = {} while True: data,addr = udpSocket.recvfrom(1472) # if addr[0] not in clients: # clients[addr[0]] = addr # for k,v in clients.items(): print(addr[0]) udpSocket.sendto(time.strftime(data.decode('utf-8')).encode('utf-8'),addr) # udpSocket.close()d # udpSocket.sendto(data.upper(),addr)

客户端

import socket ​ client = socket.socket(socket.AF_INET,socket.SOCK_DGRAM) # while True: # str1 = input('输入') # client.sendto(str1.encode('utf-8'),('127.0.0.1',1688)) # data,addr = client.recvfrom(1472) # print(data) while True: msg = input("msg:").strip() client.sendto(msg.encode("utf-8"),("127.0.0.1",1688)) data,addr = client.recvfrom(1472) print(data,addr[0])

转载于:https://www.cnblogs.com/zhuqihui/p/10952335.html

你可能感兴趣的文章
实验八 接口与实现接口的类
查看>>
PostgreSQL 保留关键字添加方法之一,不带参数的函数
查看>>
赛前热手 (天梯赛暴力题)
查看>>
Uva(10330)
查看>>
vlan学习
查看>>
【转贴】SAP HANA内存数据库详解
查看>>
两种应该掌握的排序方法--------1.shell Sort
查看>>
vuejs动态组件给子组件传递数据
查看>>
杭电2065(递推)红色病毒
查看>>
js 获取视频的第一帧
查看>>
各种正则验证
查看>>
观察者模式(Observer)
查看>>
python中numpy.r_和numpy.c_
查看>>
WPF简单模拟QQ登录背景动画
查看>>
bzoj 2038 小Z的袜子
查看>>
egret3D与2D混合开发,画布尺寸不一致的问题
查看>>
freebsd 实现 tab 命令 补全 命令 提示
查看>>
struts1和struts2的区别
查看>>
函数之匿名函数
查看>>
shell习题第16题:查用户
查看>>