前言 传统socket编程中服务端一般为每一个客户端开启一个线程(一对一)。这样虽然可以使程序的结构简单明了并且方便对数据处理,但是这些都是建立在创建多个线程的基础上,也就是以牺牲线程为代价。一旦有大量数量了客户端连接服务端,我们的服务端需要开启很多线程这显然是不能被我们所接受的。那么为了解决这个问 ...
分类:
其他好文 时间:
2020-07-24 09:57:03
阅读次数:
95
client 发送数据(输出流) (输入)-【管道流处理数据】-(输出) 接收数据(输入流) server URL:协议+IP+端口+资源位置 客户端: InetAddress 获取本地IP:写入服务器的端口号:xxxx 创建一个Socket连接(丢入IP和端口) 发送消息IO流(socket.ge ...
分类:
编程语言 时间:
2020-07-24 09:53:27
阅读次数:
82
MYSQL执行流程 建立连接 连接协议:TCP/IP、Unix Socket 通信方式:半双工 发送请求 查询缓存(默认缓存不开启) 解析器 词法解析 语法解析 生成解析树 预处理 语义解析 得到新的解析树 优化器 选择开销最小的执行计划 查询执行引擎(执行器) 存储引擎 概念:存储引擎是组织数据存 ...
分类:
数据库 时间:
2020-07-23 23:10:43
阅读次数:
93
之前使用socket模块实现的网络编程都不能并发进行连接和通信的, 即一个客户端需要等待服务器和另一个客户端通信完成后才能和服务端进行连接和通信。 python3中提供有一个高级内置模块socketserver来帮助我们进行并发的网络编程。 socketserver模块介绍 SocketServer ...
分类:
其他好文 时间:
2020-07-23 22:17:17
阅读次数:
58
前言 由于Sencha Touch 2这种开发模式的特性,基本决定了它原生的数据交互行为几乎只能通过AJAX来实现。当然了,通过调用强大的PhoneGap插件然后打包,你可以实现100%的Socket通讯和本地数据库功能,又或者通过html5的WebSocket也可以实现与服务器的通讯和服务端推功能 ...
分类:
Web程序 时间:
2020-07-23 16:16:28
阅读次数:
68
1、pom.xml中增加依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> <!-- 去除对默认日志的依赖 --> <exclusions> ...
分类:
编程语言 时间:
2020-07-23 15:46:28
阅读次数:
70
套接字介绍 socket介绍 Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面,对用户来说,一组简单的接口就是全部,让Socket去组织数据,以符合指定的协议。 所以,我 ...
分类:
其他好文 时间:
2020-07-22 16:11:31
阅读次数:
70
SpringCloudAlibaba微服务实战教程系列 第一部分第二部分:分布式架构基础、Paxos算法、Raft算法、系统网络通信 第三部分:分布式系统网络通信 一、网络通信基础 计算机系统网络通信的基本原理,在底层层面去看,网络通信需要做的就是将流从一台计算机传输到另外一台计算机,基于传输协议和 ...
分类:
其他好文 时间:
2020-07-22 15:34:53
阅读次数:
64
redis内部使用的是文件事件处理器file event handler,这个文件事件处理器是单线程的,多以redis是单线程的。它采用io多路复用的机制来监听多个socket,根据soket上的时间来选择对应的事件处理器来进行处理。 io多路复用 多个socket 文件时间分派器 时间处理器(连接 ...
分类:
编程语言 时间:
2020-07-22 11:19:39
阅读次数:
68
一.rabbitmq基础 1.简介 RabbitMQ是使用Erlang语言来编写的,并且RabbitMQ是基于AMQP协议的。Erlang语言在数据交互方面性能优秀,有着和原生Socket一样的延迟,这也是RabbitMQ高性能的原因所在 2.典型应用场景 (1)异步处理。把消息放入消息中间件中,等 ...
分类:
其他好文 时间:
2020-07-21 23:24:11
阅读次数:
106