当前位置: 首页 > news >正文

cms做的电影网站济南经三路专业做网站

cms做的电影网站,济南经三路专业做网站,婚纱网站模板素材,怎么自己做一个网站平台前言套接字(Sockets)是双向通信信道的端点。 套接字可以在一个进程内#xff0c;在同一机器上的进程之间#xff0c;或者在不同主机的进程之间进行通信#xff0c;主机可以是任何一台有连接互联网的机器。套接字可以通过多种不同的通道类型实现#xff1a;Unix域套接字在同一机器上的进程之间或者在不同主机的进程之间进行通信主机可以是任何一台有连接互联网的机器。套接字可以通过多种不同的通道类型实现Unix域套接字TCPUDP等。 套接字库提供了处理公共传输的特定类以及一个用于处理其余部分的通用接口。socket模块要创建套接字必须使用套接字模块中的socket.socket()函数该函数具有一般语法s socket.socket (socket_family, socket_type, protocol 0)参数描述socket_family它的值可以是AF_UNIX或AF_INET如前所述。socket_type它的值可以是SOCK_STREAM或SOCK_DGRAM。protocol这通常被省略默认为0。常用方法:序号方法描述1s.bind()此方法将地址(主机名端口号对)绑定到套接字。2s.recvfrom()此方法接收UDP消息返回值是一对(字节 地址) 其中字节是代表接收到的数据的字节对象而地址是发送数据的套接字的地址3s.sendto()此方法发送UDP消息将数据发送到套接字。该套接字不应连接到远程套接字因为目标套接字是由address指定的4s.close()此方法关闭套接字套接字对象上所有以后的操作都将失败。远端将不再接收任何数据(在清除排队的数据之后)。套接字在被垃圾回收时会自动关闭5s.gethostname()返回主机名返回一个字符串其中包含当前正在执行Python解释器的计算机的主机名。示例1服务器端#sever.pyimport sockets socket.socket(socket.AF_INET, socket.SOCK_DGRAM)host socket.gethostname()port 8088s.bind((host,port))try:while True:receive_data,addr s.recvfrom(1024)print(来自服务器 str(addr) 的消息:)print(receive_data.decode(utf-8))msg input(please input send to msg:)s.sendto(msg.encode(utf-8),addr)except:s.close()客户端#client.pyimport sockets socket.socket(socket.AF_INET,socket.SOCK_DGRAM)try:while True:host socket.gethostname()port 8088send_data input(please input msg:)s.sendto(send_data.encode(utf-8),(host,port))msg,addr s.recvfrom(1024)print(来自服务器 str(addr) 的消息:)print(msg.decode(utf-8))except:s.close()服务端示例客户端示例简易的UDP聊天实现了,下面我们来优化一下示例。示例2服务端#server.pyimport socketimport loggingdef main():s socket.socket(socket.AF_INET, socket.SOCK_DGRAM) # 创建socket对象addr (127.0.0.1, 9999)s.bind(addr) # 绑定地址和端口logging.info(UDP Server on %s:%s..., addr[0], addr[1])user {} # 存放字典{addr:name}while True:try:data, addr s.recvfrom(1024) # 等待接收客户端消息存放在2个变量data和addr里if not addr in user: # 如果addr不在user字典里则执行以下代码for address in user: # 从user遍历数据出来addresss.sendto(data 进入聊天室....encode(utf-8), address) # 发送user字典的data和address到客户端user[addr] data.decode(utf-8) # 接收的消息解码成utf-8并存在字典user里,键名定义为addrcontinue # 如果addr在user字典里跳过本次循环if EXIT.lower() in data.decode(utf-8):#如果EXIT在发送的data里name user[addr] #user字典addr键对应的值赋值给变量nameuser.pop(addr) #删除user里的addrfor address in user: #从user取出addresss.sendto((name 离开了聊天室...).encode(), address) #发送name和address到客户端else:print(%s from %s:%s %(data.decode(utf-8), addr[0], addr[1]))for address in user: #从user遍历出addressif address ! addr: #address不等于addr时间执行下面的代码s.sendto(data, address) #发送data和address到客户端except ConnectionResetError:logging.warning(Someone left unexcept.)if __name__ __main__:main()客户端#clinet.pyimport socketimport threadingdef recv(sock, addr):一个UDP连接在接收消息前必须要让系统知道所占端口也就是需要send一次否则win下会报错sock.sendto(name.encode(utf-8), addr)while True:data sock.recv(1024)print(data.decode(utf-8))def send(sock, addr):发送数据的方法参数sock定义一个实例化socket对象server传递的服务器IP和端口while True:string input()message name : stringdata message.encode(utf-8)sock.sendto(data, addr)if string.lower() EXIT.lower():breakdef main():主函数执行方法通过多线程来实现多个客户端之间的通信s socket.socket(socket.AF_INET, socket.SOCK_DGRAM)server (127.0.0.1, 9999)tr threading.Thread(targetrecv, args(s, server), daemonTrue)ts threading.Thread(targetsend, args(s, server))tr.start()ts.start()ts.join()s.close()if __name__ __main__:print(-----欢迎来到聊天室,退出聊天室请输入EXIT(不分大小写)-----)name input(请输入你的名称:)print(-----------------%s------------------ % name)main()支持多人的简易聊天室示例多个客户端通过一个服务器进行之间通信
http://www.pierceye.com/news/473654/

相关文章:

  • 中国最大免费wap网站怎样才能建设只是于自己的网站
  • 装修网站平台排行榜wordpress做视频网站吗
  • flash网站建设价格播放器网站怎么做
  • 微网站 源码 免费文本编辑器 网站
  • 电商网站通用左侧弹出导航有南昌网站优化公司
  • 沈阳三好街做网站公司个人网页设计风格分析
  • 网站建设经费计划内容网站建设中存在的问题
  • 天凡建设股份有限公司网站苍山网站建设
  • 如何新建网站dw线下推广的渠道和方法
  • 网站友链wordpress火车头发布
  • 青海网站维护公司自己的网站叫什么
  • 微网站 淘宝客wordpress备案号放置
  • html5 手机网站 模版网站信息员队伍建设
  • 基金会网站开发方案政务公开网站建设重点
  • 影视网站制作网页游戏的软件
  • 企业做网站的费用如何科目青色网站欣赏
  • 做视频网站怎么赚钱的网站开发流程的三个部分
  • 牡丹江市建设行业协会网站广西住房城乡建设厅网站首页
  • 重庆网站关键词排名优化免费网页代理的推荐
  • 定制型网站怎么做重庆软件开发公司有哪些
  • 自适应型网站建设网站建设搭建是什么意思
  • 网站建设能够不同地方网址大全12345
  • 做网批那个网站好校园网站界面建设
  • 免费网站建设php济南网站建设公司官网
  • 徐汇网站推广网络营销的四个特点
  • 简易做网站wordpress插件tag
  • 红酒 公司 网站建设青岛安装建设股份公司网站
  • 小米路由hd 做网站营销型网站策划 建设的考试题
  • 运河网站制作自主建站平台
  • 万网 网站建设合同最好的网站开发语言