1 # __author__:Kelvin 2 # date:2020/4/16 21:55 3 import socket 4 import select 5 6 # 自定义异步IO框架内容 7 #用来封装socket对象,host,和回调函数 8 class HttpRequest: 9 def ...
分类:
其他好文 时间:
2020-04-17 09:44:42
阅读次数:
57
1.进入到Configuration→firewall→NAT Rules画面。 2.点“services”添加服务端口,此案例添加TCP 1443和UDP 1443端口映射 3.添加“Network Object NAT Rule” ...
分类:
系统相关 时间:
2020-04-16 22:26:04
阅读次数:
177
缘由 之前写socket的CS模型代码,都是利用最原始的多线程方式。服务端是主线程,接到客户端的连接请求就从线程池中获取一个线程去处理整个socket连接的所有操作,虽然在连接数较短的情况下没有什么影响,但是当连接数很大的情况下,线程的切换和线程池的大小问题就明显起来了。 问题 应该存在一种方式可以 ...
分类:
其他好文 时间:
2020-04-16 19:46:40
阅读次数:
79
Epoll的实现原理: Epoll采用事件触发的机制,通过用户创建Epoll对象并注册事件宏监听具体事件,以达到事件发生时触发任务的执行。 为了更好得理解Epoll的机制,我简单得理解为Socket的交互本身就是两个读、写缓冲区,然后Epoll就是监听这两个缓冲区的数据非空、非满的状态,非空代表有数 ...
分类:
其他好文 时间:
2020-04-16 19:36:17
阅读次数:
59
客服端-服务器模式 TCP/UDP telnet下载网页 telnet获取网页过程 步骤1: telnet www.baidu.com 80(设置目标服务器, 端口号) 步骤2: GET /index.html HTTP/1.1 Host: www.baidu.com 步骤3:然后连续按两下ente ...
分类:
Web程序 时间:
2020-04-16 19:24:12
阅读次数:
77
传统IO拷贝流程 比如:读取文件,再用socket发送出去 先读取、再发送,实际经过1~4四次copy。 1、第一次:将磁盘文件,读取到操作系统内核缓冲区; 2、第二次:将内核缓冲区的数据,copy到application应用程序的buffer; 3、第三步:将application应用程序buff ...
分类:
系统相关 时间:
2020-04-16 19:21:39
阅读次数:
67
import socket import sys import os,time reload(sys) sys.setdefaultencoding('utf8') def send_cmd(command): try: print "开始连接服务端..." client = socket.sock ...
分类:
其他好文 时间:
2020-04-16 18:06:53
阅读次数:
112
Netty 是一个可以快速开发网络应用程序的 NIO 框架,它大大简化了 TCP 或者 UDP 服务器的网络编程。Netty 的简易和快速开发并不意味着由它开发的程序将失去可维护性或者存在性能问题,它的设计参考了许多协议的实现,比如 FTP,SMTP,HTTP 和各种二进制和基于文本的传统协议,因此 Netty 成功的实现了兼顾快速开发,性能,稳定性,灵活性为一体,不需要为了考虑一方面原因而妥协其他方面。Netty 的应用还是比较广泛的,比如阿里巴巴开源的 Dubbo 和 Sofa-Bolt 框架底层网络通讯都是基于 Netty 来实现的。
分类:
Web程序 时间:
2020-04-16 15:35:32
阅读次数:
125
# 二面:1. TCP和UDP的区别?1. 滑动窗口协议?1. 为啥TCP比UDP占用资源多?1. TCP报文格式?1. 然后又问了一下数据库的东西1. 简单问了一下数据库事务的四大特性。1. 首先是Spark怎么进行性能调优1. 过程中遇到过什么问题,怎么解决的1. 数据量有多大等1. 类似于合并... ...
分类:
编程语言 时间:
2020-04-16 15:21:08
阅读次数:
70
linux下命令发送UDP数据包 代码实现收发UDP数据包 发送数据包 接收数据包 捕获数据包 windows 下wireshark工具抓取 linux 下通过tcpdump命令抓包 tcpdump i any s 0 udp port xx w save.pcap ...
分类:
其他好文 时间:
2020-04-16 15:09:29
阅读次数:
64