
网络编程
文章平均质量分 83
淘气的高老板
污,孤傲,高冷,薄情,悲天悯人的高老板
展开
-
【高老板讲网络】TCP消息的边界(editing)
TCP和UDP都是OSI网络模型中第四层传输层的协议。TCP 面向连接,基于流,有缓冲区,全双工UDP 无连接,基于数据报包,全双工原创 2019-12-22 15:12:23 · 300 阅读 · 0 评论 -
Java NIO浅析
原文地址:点击打开链接来自:美团点评技术团队(微信号:meituantech)NIO(Non-blocking I/O,在Java领域,也称为New I/O),是一种同步非阻塞的I/O模型,也是I/O多路复用的基础,已经被越来越多地应用到大型应用服务器,成为解决高并发与大量连接、I/O处理问题的有效方式。那么NIO的本质是什么样的呢?转载 2016-12-01 14:36:25 · 424 阅读 · 0 评论 -
沈洵:分布式事务原理与实践之多机事务
分布式事务与单机事务,相同与不同分布式事务的主要难题传统数据库的分布式事务新兴互联网行业的分布式事务尝试google spanner赏析阿里的分布式事务模型DRDS/TDDL实战目标完整的事务支持像传统单机事务一样的操作方式可按需无限扩展事务最重要的一件事就是易用本身。容易理解的模型往往性能都不好,性能好的模型往往不容原创 2017-02-01 18:12:43 · 1790 阅读 · 0 评论 -
java 缓冲池 BufferPool
/** * 缓冲池 */public class BufferPool { private static final int BUFFER_SIZE = 2 * 1024 * 1024; //缓冲包2M private static final int BUFFER_MAX_NUM = 20; //缓冲池保留最大数量 private static final Concur原创 2017-02-06 11:32:58 · 3586 阅读 · 0 评论 -
由浅入深写java分布式(1)动态代理
注:关于动态代理和dubbo的例子,代码参考了 点击打开链接的博客和文章public interface HelloService { String hello(String name); } public class HelloServiceImpl implements HelloService { public String hello(String n原创 2017-02-16 17:41:55 · 683 阅读 · 0 评论 -
服务器实时通知客户端方案,服务器发送/推送事件方案(1)websocket
My WebSocket Welcome Send Close var websocket = null; //判断当前浏览器是否支持WebSocket if ('WebSocket' in window) { websocket = new WebSocket("ws://localhost:8084/websocket"); } else {原创 2016-07-12 10:56:15 · 4726 阅读 · 2 评论 -
nginx(11) nginx 配置动静分离,设置默认主页,限制某个路径的资源代理全解
1.绕过动态代理设置默认主页正常情况下,配置完location的root后,默认主页直接会取root指定路径的index.html index.php等作为默认主页以域名http://demo.williamy.xin:8090/ 为例现在做了反向代理, 输入域名会访问自己的动态服务路径为 / upstream demo.williamy.xin{ server原创 2016-12-27 16:37:59 · 17044 阅读 · 0 评论 -
深入理解TCP(2)TCP的断开一定是四次挥手吗?FIN_WAIT_2和CLOSE_WAIT,TIME_WAIT以及LAST_ACK的细节
答案是否定的 我们回顾下使用wireshark的抓包1. 服务器未开 客户端尝试连接2. 建立连接然后关闭,三次握手3/4次挥手, 3. 建立连接,交互一次然后断开,三次握手3次挥手根据wireshark的包,四会握手的第二步 被动断开的一方收到FIN(第一次握手)后要发送ACK。但是抓的包中有时候会没有这一步。 我们看一下一般的书中TCP四次挥手的图解当被动断开的一方发送ACK的时候,被动断原创 2017-09-05 23:14:09 · 19118 阅读 · 5 评论 -
服务器实时通知客户端方案,服务器发送/推送事件方案(2)server event,典型例子,可以用作股票、新闻信息推送
server event是html5规范的一部分,它相比websocket使用起来更简单,对服务器的改动也最小前端html部分 if(typeof(EventSource)!=="undefined") { var source=new EventSource("doevent"); //打开连接 source.onopen=function(原创 2016-11-14 15:59:13 · 5027 阅读 · 4 评论 -
REDIS 学习(10)流程图解使用redis实现分布式锁
redis作为集中式缓存,可以通过它来实现分布式锁。首先用到的redis操作有:setnx key value: 当key不存在的时候生效并返回1,当已经有此key的时候返回0getset key value: 设置新值返回旧值,如果之前不存在也设置新值并返回nilget key: 返回对应的值,没有则返回nildel key,key1,key2: ...原创 2016-09-28 17:23:23 · 2419 阅读 · 0 评论 -
Spring boot(10) 使用sevlet
定义一个servlet类public class MyServlet extends HttpServlet { private static final long serialVersionUID = 1L; @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws S原创 2016-11-14 15:05:50 · 457 阅读 · 0 评论 -
一个故事讲清楚NIO
原文出处:点击打开链接 假设某银行只有10个职员。该银行的业务流程分为以下4个步骤:1) 顾客填申请表(5分钟);2) 职员审核(1分钟);3) 职员叫保安去金库取钱(3分钟);4) 职员打印票据,并将钱和票据返回给顾客(1分钟)。 我们看看银行不同的工作方式对其工作效率到底有何影响。1 BIO方式 每来一个顾客,马上由一位转载 2016-09-26 18:27:33 · 527 阅读 · 0 评论 -
优化小计,304和202
图片压缩https://tinypng.com/原创 2016-09-19 17:04:58 · 352 阅读 · 0 评论 -
JAVA 网络编程(3) SOCKET 非阻塞NIO 处理HTTP请求示例
要实现HTTP协议,只需要让TCP协议的回复格式为HTTP的response消息头即可import java.net.InetSocketAddress;import java.nio.channels.SelectionKey;import java.nio.channels.Selector;import java.nio.channels.ServerSocketChannel;原创 2016-08-18 15:43:17 · 1782 阅读 · 0 评论 -
JAVA 网络编程(4) SOCKET UDP 单播聊天示例
import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.net.DatagramPacket;import java.net.DatagramSocket;import java.net.InetAddress;import javax.swing.JButton;impor原创 2016-08-18 19:03:15 · 1534 阅读 · 0 评论 -
JAVA 网络编程(5) SOCKET UDP 单播和组播,以及组播其他机器收不到报文的解决方法
UDP既可以单播也可以组播一,单播单播的过程为发送方:InetAddress destAddr = InetAddress.getByName("192.168.4.199");// 发送的目的地址int targetPort = 3001; // 发送的目的端口DatagramSocket socket = new DatagramSocket();byte[] b原创 2016-08-19 12:13:25 · 6325 阅读 · 0 评论 -
JAVA 网络编程(6) Netty TCP 示例
maven使用的netty版本如下: io.netty netty-all 4.1.4.Final 示例代码:import io.netty.bootstrap.ServerBootstrap;import io.netty.channel.ChannelInitializer;import io.netty.channel.ChannelPipeline原创 2016-08-19 16:46:00 · 10774 阅读 · 4 评论 -
Nginx(9) nginx + tomcat动静分离
nginx, tomcat静态分离原创 2016-08-26 17:10:44 · 1069 阅读 · 0 评论 -
Http长链接和Connection:keep-alive的解答
因为自己使用http请求都是,请求-应答这种方式,一直以为http是短链接的。每次通信后,其链接断开。其实不然,http1.1开始。客户端的请求头带上Connection:keep-alive便是维持长链接。当然这个需要服务器的支持。该方式可以使一次TCP连接为同意用户的多次请求服务,提高了响应速度。因为http是无状态的,而且keep-live原创 2016-09-22 15:39:47 · 19438 阅读 · 1 评论 -
js控制过场动画,setTimeout和clearTimeout的用法以及document.onreadystatechange判断页面是否加载结束
思路当html加载完的时候,关闭过场动画,如果时间太长用定时器设置5秒后关闭过场动画setTimeout的用法var setT = setTimeout(function() { $('.loading').hide(); $('.load_bg').hide(); }, 5000);clearTimeout的用法clearTimeout(s原创 2016-09-20 15:57:45 · 1981 阅读 · 0 评论 -
(转自微博) 分布式缓存架构基础
文章不错,与大家共享之文章转自点击打开链接对于构建高性能、高可用的大型互联网系统,缓存是不可或缺的组成部分,微博的架构体系也是构建于缓存之上。本次课程介绍分布式缓存的相关知识,希望通过本次课程大家对分布式缓存有一定的了解,主要包含以下方面的内容:缓存概述、常用缓存介绍、分布式缓存实现、分布式缓存设计实践。一、缓存概述1.1 什么是缓存 缓转载 2016-09-23 15:56:43 · 1810 阅读 · 1 评论 -
js控制URL地址的改变,以微信服务号的授权获取用户的昵称和头像为例
当遇到某个场景需改变当前的URL的时候,有以下几种方法window.location = "http://service.gaotianyue.com/moon/index.html?openid="+openid;window.history.pushState({},0,'http://service.gaotianyue.com/moon/index.html?openid='+ope原创 2016-09-20 17:54:59 · 7811 阅读 · 0 评论 -
JAVA 网络编程(1) SOCKET 普通示例
serverpublic class Server { public static void main(String[] args) { // 创建一个ServerSocket监听8080端口 try (ServerSocket server = new ServerSocket(8080); Socket socket = server.accept(); Buff原创 2016-08-18 00:12:07 · 405 阅读 · 0 评论