从linux源码看socket的阻塞和非阻塞 笔者一直觉得如果能知道从应用到框架再到操作系统的每一处代码,是一件Exciting的事情。 大部分高性能网络框架采用的是非阻塞模式。笔者这次就从linux源码的角度来阐述socket阻塞(block)和非阻塞(non_block)的区别。 本文源码均来自 ...
分类:
系统相关 时间:
2020-06-04 13:42:55
阅读次数:
58
Tomcat有两个核心功能: 1.处理 Socket 连接,负责网络字节流与 Request 和 Response 对象的转化。 2.加载和管理 Servlet,以及具体处理 Request 请求。 因此 Tomcat 设计了两个核心组件连接器(Connector)和容器(Container)来分别 ...
分类:
其他好文 时间:
2020-06-04 00:57:37
阅读次数:
96
nio使用通道和缓冲区来进行数据的读写操作。 FileChannel 对文件进行操作 SocketChannel tcp ServerSocketChannel tcp DatagramChannel udp 一般来说分为下面几步:1、建立通道2、创建缓冲区3、使用通道对缓冲区进行读写操作 建立通道 ...
分类:
编程语言 时间:
2020-06-03 23:31:57
阅读次数:
75
服务器端: #include <stdio.h> #include <unistd.h> #include <sys/socket.h> #include <stdlib.h> #include <ctype.h> #include <arpa/inet.h> #include <sys/types ...
分类:
其他好文 时间:
2020-06-03 21:59:36
阅读次数:
94
一、nginx之tcp_nopush、tcp_nodelay、sendfile 1、TCP_NODELAY你怎么可以强制 socket 在它的缓冲区里发送数据?一个解决方案是 TCP 堆栈的 TCP_NODELAY选项。这样就可以使缓冲区中的数据立即发送出去。 Nginx的 TCP_NODELAY ...
分类:
其他好文 时间:
2020-06-03 17:20:29
阅读次数:
58
ix系统上,mysql的登陆方式有两种,分别是socket和tcp/ip方式登陆。当server和client在同一台服务器上的时候,我们可以直接用mysql命令登陆。[root@mysql ~]# mysqlWelcome to the MySQL monitor. Commands end wi ...
分类:
数据库 时间:
2020-06-03 00:48:38
阅读次数:
96
1.多进程实现并发的socket # server.py?import socketfrom multiprocessing import Processdef chat(conn): while True: try: ret = conn.recv(1024).decode('utf-8') co ...
分类:
编程语言 时间:
2020-06-03 00:27:06
阅读次数:
61
/** * 使用socket读取网页内容 */ private static void socketReadWebPage() { try { String strHost = "www.baidu.com"; InetSocketAddress socketAddress = new InetSo ...
分类:
编程语言 时间:
2020-06-02 11:32:18
阅读次数:
85
对于单机server,单机可以接受的(tcp)最大连接数是多少? socket是系统的一个操作系统句柄,不是本地端口。对于TCP链接来说,由本地的IP、PORT、远端的IP、PROT,来唯一确定一个连接,即TCP得socket。 服务器創建Socket过程:服务器创建监听socket- >与对外服务 ...
分类:
其他好文 时间:
2020-06-02 09:43:47
阅读次数:
90
PXE+Kickstart无人值守安装服务如果生产环境中有数百台服务器都需要安装系统,我们就需要使用PXE+TFTP+FTP+DHCP+Kickstart服务搭建出一个无人值守安装系统。这种无人值守安装系统可以自动地为数十台服务器安装系统,这一方面将运维人员从重复性的工作中解救出来,也大大提升了系统安装的效率。无人值守安装系统的工作流程PXE(PrebooteXecuteEnvironment,预
分类:
其他好文 时间:
2020-06-02 09:40:38
阅读次数:
63