最新内容

MySQL数据查询太多会OOM吗?

线上 MySQL 直接 Select 千万条的100G数据,服务器会裂开吗?假设对某100G表t执行全表扫描,把扫描结果保存在客户端:# 该语句无任何判断条件,所以全表扫描,查到的每行都可直接放到结果集,然后返给客户端mysql -h$host -P$port -u$user -p$pwd -e "select * from t" > …

socket在阻塞和非阻塞下send / receive的区别

发送TCP(send):阻塞 - 会等待所有数据拷贝到发送缓冲区才会返回。也就是说在阻塞模式下,send函数的返回值一定是参数中的发送长度的大小。非阻塞 - 会立即返回,尽可能多的拷贝数据到缓冲区,但不保证全部拷贝后就会返回,也就是说在非阻塞模式下,send函数的返回值可能会比参数中的长度来的小,当然如果缓冲区满的话就会立即返回UDP(sendto):即使在 …

你们要的Socket网络基础编程讲解来啦

首先列举一下socket网络通信的例子:使用局域网打游戏,用浏览器连接外网看视频,使用QQ与好友通信,手机连接wifi传数据等等。socket是底层抽象给应用层所使用的一套接口函数,本篇讲解这些函数的使用。对象:服务器server(等待客户端连接)客户端client(主动连接服务器)对象之间的联系: client是根据server的‘’ip地址+端口号”找到 …

Python网络编程基础

Python网络编程Socket库套接字(socket)网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket。套接字是socket的通常叫法,用于描述IP地址和端口,是一个通信链的句柄,可以用来实现不同虚拟机或不同计算机之间的通信。Python中Socket库为操作系统的socket实现提供了一个Python接口。1.so …

黑科技解密!实现socket进程间迁移

原创:小姐姐味道(微信公众号ID:xjjdog),欢迎分享,转载请保留出处。今天介绍一个可以拿出去吹牛的功能:实现socket句柄在进程之间迁移!为了这篇文章,xjjdog可算下了苦功夫,半夜还在翻资料。因为需要验证后,才能证明这项技术确实是正确的。正文。我们的服务器上,运行着大量的server实例(instance)。这些instance,每个都要承载着数 …

从linux源码看socket(tcp)的timeout

从linux源码看socket(tcp)的timeout前言网络编程中超时时间是一个重要但又容易被忽略的问题,对其的设置需要仔细斟酌。在经历了数次物理机宕机之后,笔者详细的考察了在网络编程(tcp)中的各种超时设置,于是就有了本篇博文。本文大部分讨论的是socket设置为block的情况,即setNonblock(false),仅在最后提及了nonblock …

写给 Java 程序员的 Go Web 框架 Gin 源码入门

本文会比较 Gin 与 Netty 以及 Spring 在一些设计上的异同。如果你没有 Java 开发经验,也完全可以略去对比 Java 的部分内容,并不影响理解本文。1. Gin 启动过程过程概述下面是使用 Gin 实现监听本机端口 2333,然后返回一个 hello world 字符串作为 HTTP 响应正文,最终返回给前端的最简单的案例:package …

Python open函数详解

演示环境,操作系统:Win10 21H2(64bit);Python解释器:3.8.10。open是Python的一个内置函数,一般用于本地文件的读写操作。用法如下。my_file = open(file, mode, buffering, encoding, errors, newline, closefd, opener)# 打开文件...# 读写操作。 …