首页
学习
活动
专区
工具
TVP
发布

Jackie技术随笔

专栏作者
17
文章
29738
阅读量
21
订阅数
《More Effective C++》——异常(Exceptions)
main函数中首先抛出了异常,导致Session对象析构,logDestruction被调用,抛出异常21,而析构函数没有捕获这个异常,而是让它流出了destructor以外,而此时异常20正在作用,C++会调用terminate函数,程序终止:
jackieluo
2019-07-25
4430
一个InnoDB死锁案例
更新数据库的操作最后是成功的,分析可能是因为这个服务两个节点都在做重试,对同一行记录并发进行读取及更新时出现冲突导致,查了一下资料:
jackieluo
2019-07-25
8670
I/O复用——单进程服务器(select版)
为了可以处理多个客户的请求,我们之前一直使用多进程TCP并发服务器,socket()监听一个套接口,accept()多个用户,父进程监听listenfd,子线程们在connfd上进行应答处理。
jackieluo
2019-01-06
2K0
I/O复用——shutdown函数
尽管修改后的str_cli函数已经可以同时处理输入和网络套接口的事件,但是它仍旧是不正确的。在它修改前的版本,即阻塞I/O模型下,一个回射请求的总时间是RTT(往返时间)加上服务器的处理时间。根据这个总时间,我们可以估计出回射固定行数的请求,需要花费多长的时间。
jackieluo
2018-12-23
1.1K0
I/O复用——select函数
select函数让进程告诉内核,等待数个事件,某个事件发生或者达到指定时间时,唤醒进程。
jackieluo
2018-12-02
1K0
I/O复用——几种I/O模型对比
之前在服务器进程终止中讨论的情形,TCP客户端同时要处理两个输入,一是标准输入,二是TCP套接口。而此时若是服务器进程被杀死,服务器尽管正确地给客户发送了FIN分节,但是由于此时客户正阻塞于标准输入fgets(),直到读完一行用户输入(也许此时TCP服务器已经死透了),才能看到那个文件结束符。
jackieluo
2018-12-02
1.4K0
TCP回射客户-服务器程序
创建一个TCP套接口,用通配地址(INADDR_ANY)和unp.h中定义的众所周知端口(SERV_PORT),端口号为9877。
jackieluo
2018-10-20
4.1K0
多进程TCP并发服务器
我们的期望应该是一台服务器同时为多个客户服务。实现并发服务器最简单的办法就是为每个客户均fork一个子进程。
jackieluo
2018-10-06
5.8K0
基本TCP套接口编程
为了执行网络I/O,一个进程(无论是服务端还是客户端)必须做的第一件事情就是调用socket函数。
jackieluo
2018-10-06
1.4K0
C/C++协程的简单尝试
最近用tars框架编写后台服务的时候,逐渐抛弃了之前的异步调用方式,而是使用协程,以同步代码的写法实现并发调用,所以希望可以了解学习一下协程的相关知识。
jackieluo
2018-09-14
2.5K0
svn迁移git的一次尝试
SVN 迁移 Git 步骤 1. 获取提交历史人员信息 进入svn管理的服务文件夹: cd ExampleServer 保存提交历史人员列表: svn log --xml | grep author
jackieluo
2018-09-13
1.3K0
套接口编程简介
每个协议族都定义了自己的套接口地址结构,名字均以sockaddr_开头,对应协议族的标志结束。大部分套接口函数需要指向套接口地址结构的指针作为参数。
jackieluo
2018-09-03
1.1K0
传输层:TCP和UDP
平时我们使用的tcpdump、ping、traceroute属于TCP/IP协议族,虽然叫TCP/IP协议族,但是这个协议族还涉及到许多其他成员。下图是其概貌。
jackieluo
2018-08-24
1.2K0
htons&ntohs
而TCP/IP协议栈使用大端字节序。应用程序交换格式化数据时,字节序问题就会出现。对于TCP/IP,地址用网络字节序来表示,所以应用程序有时需要在处理器的字节序与网络字节序之间转换它们。
jackieluo
2018-08-03
7780
《UNIX网络编程》源码编译
本书源码下载地址 浏览器下载 《UNIX网络编程》源码地址 wget wget http://www.unpbook.com/unpv13e.tar.gz 开始编译 cd unpv13e/ 按照README的指引进行 ./configure # try to figure out all implementation differences cd lib # build the basic library that all programs need make #
jackieluo
2018-08-02
1.4K0
一个简单的git开发流程
最近将手上svn的一些服务版本管理迁移到git库管理,下面简要描述一下使用的Git工作流程。
jackieluo
2018-07-20
1.2K0
使用strptime函数时遇到的一个坑
做新专辑排序的需求时,需要对专辑的时间进行排序,由于目前该字段是字符串类型的日期,在排序函数中要转成标准的UNIX时间戳来进行对比,大概代码如下:
jackieluo
2018-07-17
2.1K0
没有更多了
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档