bind

netty 总结服务端启动流程

这一生的挚爱 提交于 2020-08-16 20:00:39
主要是贴代码 给自己做个总结(连接服务端初始化以及处理): 1. NioEventLoop 用来正真处理io连接的 2.NioEventLoopGroup 可以简单的理解为处理组一共两个,一个是接受连接的,一个是处理连接的,里面的chooser即是NioEventLoop数组 服务端初始化流程 入口 ChannelFuture f = b.bind(8888).sync(); public ChannelFuture bind(int inetPort) { return this.bind(new InetSocketAddress(inetPort)); } public ChannelFuture bind(SocketAddress localAddress) { this.validate(); if (localAddress == null) { throw new NullPointerException("localAddress"); } else { return this.doBind(localAddress); } } private ChannelFuture doBind(final SocketAddress localAddress) { //初始化即注册 final ChannelFuture regFuture = this

20183215 实验三《Python程序设计》实验报告

╄→гoц情女王★ 提交于 2020-08-16 14:24:04
20183215 2019-2020-2 《Python程序设计》实验三报告 课程:《Python程序设计》 班级: 1832 姓名: 董振龙 学号: 20183215 实验教师:王志强 实验日期:2020年5月16日 必修/选修:公选课 1.实验内容 1.创建服务端和客户端,选择一个通信端口,用Python语言编程实现通信演示程序; 2.要求包含文件的基本操作,例如打开和读写操作。 3.要求发送方从文件读取内容,加密后并传输;接收方收到密文并解密,保存在文件中。 4.程序代码托管到码云。 2. 实验过程及结果 实验开始之前,我设想了一下实验结束后的效果,总觉得光秃秃的控制台缺乏美感(尽管是pycharm),于是,我打算加入GUI图形界面,既然追求美感,就贯彻到底咯。 首先,我打开了一个软件: wxFormBuilder (这里我参考了一个 大佬的博客 ),打开后的界面是这样的: 我们先选择Forms点击Frame,然后再建立几个boxsizer,加入一些必备控件textctrl、button,如图,其中,设置bsizer5的proportion为9,使其看上去更加和谐 最后进行一些细节上的设置,例如按钮名称以及事件绑定。最终效果如图: 其中三个按钮分别绑定事件: 保存之后可以导出对应的 .py文件 ,基本重复上述操作,可以得到客户端的图形界面和对应的 .py文件

apply,call ,bind

独自空忆成欢 提交于 2020-08-16 10:24:42
通过 apply(),call() 方法,能够编写用于不同对象的方法 . 这两个方法是一样的,差别在于接受参数形式不同,apply接受数组 ,call接受字符串参数 bind 目的是创建一个新函数 ,这个新函数的this指向 传进的参数。 最简单的用法是创建一个函数,不论怎么调用,这个函数都有同样的 this 值 const module = { x: 42, getX() { return this.x; } }; const unboundGetX = module.getX; console.log(unboundGetX()); // The function gets invoked at the global scope // expected output: undefined const boundGetX = unboundGetX.bind(module); //bind方法创建一个新的函数 ,this指定为传入的module参数 console.log(boundGetX()); // expected output: 42 来源: oschina 链接: https://my.oschina.net/u/560237/blog/4295093

使用Lua的扩展库LuaSocket用例

谁都会走 提交于 2020-08-16 10:02:51
LuaSocket 是 Lua 的网络模块库,它可以很方便地提供 TCP、UDP、DNS、FTP、HTTP、SMTP、MIME 等多种网络协议的访问操作。 它由两部分组成:一部分是用 C 写的核心,提供对 TCP 和 UDP 传输层的访问支持。另外一部分是用 Lua 写的,负责应用功能的网络接口处理。 一、安装LuaSocket 下面介绍两种安装方法 第一种方法:如果你有安装了 Lua 模块的安装和部署工具 LuaRocks,那么一条指令就能安装部署好 LuaSocket: # luarocks install luasocket 第二种方法:如果没安装有 LuaRocks,也可以源码安装。 先把 LuaRocks 下载下来,当前可用的版本是 luasocket-3.0-rc1(luasocket的源码有托管在Github.com): # git clone https://github.com/diegonehab/luasocket.git 把源码clone下来之后就可以进行本地源码安装,直接进入到luasocket目录进行编译安装了 # cd luasocket # make && make install LuaSocket 使用 接下来是LuaSocket扩展的几种使用方法 1、socket方式请求 -- socket方式请求 local socket = require

ajax下载文件

旧巷老猫 提交于 2020-08-16 04:57:40
今天遇到这样一个需求,将查查出来的数据导出来,不是将所有的数据导出来,而是要导出满足条件的数据,也就是说下载的时候要将查询的条件传到后台。 例如: 先查询课程性质是选修的课程然后导出来: 前台封装条件的form: < form class ="layui-form layui-col-md12 x-so" id ="queryCourseForm" > <% -- 隐藏两个,一个当前页,一个页号 -- %> <% -- 当前页 -- %> < input type ="hidden" name ="pageNum" /> < input type ="hidden" name ="pageSize" /> < div class ="layui-input-inline" > < input type ="text" name ="coursenamecn" placeholder ="请输入课程中文名称" autocomplete ="off" class ="layui-input" > </ div > < div class ="layui-input-inline" > < select name ="courseplatform" > < option value ="" > 请选择课程平台 </ option > < option value ="通识教育" >

模拟QQ聊天服务端与客户端互相沟通时while循环产生的异常---java.net.BindException: Address already in use: JVM_Bind

不问归期 提交于 2020-08-16 03:31:46
大家好,我是一位在java学习圈中不愿意透露姓名并苟且偷生的小学员,如果文章有错误之处,还望海涵,欢迎多多指正 如果你从本文学到有用的干货知识,那么请您尽量点赞,关注,评论,收藏 今天模拟QQ服务端与客户端聊天时想要实现一个多线程(即多个客户端)的效果,于是根据实际问题需要创建了HashMap集合来存储用户信息,在用while循环模拟持续添加的过程中出现了异常 先来看看服务端的代码如何实现: package server ; import java . io . * ; import java . net . ServerSocket ; import java . net . Socket ; import java . util . HashMap ; import java . util . Scanner ; public class Server { //为了找寻用户信息方便,采用HashMap进行存储,静态无需创建对象,类名点即可 private static HashMap < String , User > userBox = new HashMap < > ( ) ; public static void main ( String [ ] args ) { try { while ( true ) { System . out . println (

centos 7 下 nfs yum 安装,简单明了版本

泪湿孤枕 提交于 2020-08-16 03:20:39
前言 NFS 是 Network File System 的缩写,即网络文件系统。功能是让客户端通过网络访问不同主机上磁盘里的数据,主要用在类Unix系统上实现文件共享的一种方法。 本例演示 CentOS 7 下安装和配置 NFS 的基本步骤。 环境说明 CentOS 7(Minimal Install) $ cat /etc/redhat-release CentOS Linux release 7.5.1804 (Core) 本例演示环境如下 Name IP Addr Descprition Server 192.169.0.110 服务端 IP Client 192.168.0.101 客户端 IP Windows Client 192.168.0.102 Windows Server 2008 根据官网说明 Chapter 8. Network File System (NFS) - Red Hat Customer Portal ,CentOS 7.4 以后,支持 NFS v4.2 不需要 rpcbind 了,但是如果客户端只支持 NFC v3 则需要 rpcbind 这个服务。 服务端 服务端安装 使用 yum 安装 NFS 安装包。 $ sudo yum install nfs-utils 注意 只安装 nfs-utils 即可,rpcbind 属于它的依赖

关于网上有关frp内网穿透博客的一点问题,frp内网穿透http根本不需要域名!!!!!!!!!!!!!

瘦欲@ 提交于 2020-08-16 02:46:30
前言:当时做这个测试的时候就觉得很奇怪,为什么非要域名,毕竟域名只是做个解析的作用,看了几个都是这样,毕竟自己的云服务器懒得搞域名,很多人包括我在内都没域名! 首先还是配置步骤,建议参照官方文档,另外给个国内的下载地址,毕竟github太慢了 frp_0.32.1_linux_amd64.tar.gz 官方中文文档 1、配置服务端(公网服务器) [common] bind_port = 7000 #与客户端绑定的进行通信的端口 vhost_http_port = 8000 #访问客户端web服务自定义的端口号,如果是https 就改成vhost_https_port 保存然后启动服务./frps -c ./frps.ini,这是前台启动,后台启动命令为nohup ./frps -c ./frps.ini & 2、配置客户端(内网服务器) [common] server_addr = xx.xx.xx.xx #公网服务器ip server_port = 7000 #与服务端bind_port一致 #公网通过ssh访问内部服务器 [ssh] type = tcp #连接协议 local_ip = 192.168.1.125 #内网服务器ip local_port = 22 #ssh默认端口号 remote_port = 6000 #自定义的访问内部ssh端口号

SpringBoot + Vue + ElementUI 实现后台管理系统模板 -- 后端篇(三): 整合阿里云 OSS 服务 -- 上传、下载文件、图片

生来就可爱ヽ(ⅴ<●) 提交于 2020-08-15 23:11:59
(1) 相关博文地址: SpringBoot + Vue + ElementUI 实现后台管理系统模板 -- 前端篇(一):搭建基本环境:https: // www.cnblogs.com/l-y-h/p/12930895.html SpringBoot + Vue + ElementUI 实现后台管理系统模板 -- 前端篇(二):引入 element-ui 定义基本页面显示:https: // www.cnblogs.com/l-y-h/p/12935300.html SpringBoot + Vue + ElementUI 实现后台管理系统模板 -- 前端篇(三):引入 js-cookie、axios、mock 封装请求处理以及返回结果:https: // www.cnblogs.com/l-y-h/p/12955001.html SpringBoot + Vue + ElementUI 实现后台管理系统模板 -- 前端篇(四):引入 vuex 进行状态管理、引入 vue-i18n 进行国际化管理:https: // www.cnblogs.com/l-y-h/p/12963576.html SpringBoot + Vue + ElementUI 实现后台管理系统模板 -- 前端篇(五):引入 vue-router 进行路由管理、模块化封装 axios 请求、使用

深入剖析 RabbitMQ —— Spring 框架下实现 AMQP 高级消息队列协议

一笑奈何 提交于 2020-08-15 21:40:33
前言 消息队列在现今数据量大,并发量高的系统中是十分常用的。本文将会对现时最常用到的几款消息队列框架 ActiveMQ、RabbitMQ、Kafka 进行分析对比。 详细介绍 RabbitMQ 在 Spring 框架下的结构及实现原理,从Producer 端的事务、回调函数(ConfirmCallback / ReturnCallback)到 Consumer 端的 MessageListenerContainer 信息接收容器进行详细的分析。通过对 RabbitTemplate、SimpleMessageListenerContainer、DirectMessageListenerContainer 等常用类型介绍,深入剖析在消息处理各个传输环节中的原理及注意事项。 并举以实例对死信队列、持久化操作进行一一介绍。 目录 一、RabbitMQ 与 AMQP 的关系 二、RabbitMQ 的实现原理 三、RabbitMQ 应用实例 四、Producer 端的消息发送与监控 五、Consumer 端的消息接收与监控 六、死信队列 七、持久化操作 一、RabbitMQ 与 AMQP 的关系 1.1 AMQP简介 AMQP(Advanced Message Queue Protocol 高级消息队列协议)是一个消息队列协议,它支持符合条件的客户端和消息代理中间件(message