Jackie技术随笔

18 篇文章
21 人订阅

全部文章

jackieluo

腾讯 · 工程师 (已认证)

《More Effective C++》——异常(Exceptions)

main函数中首先抛出了异常,导致Session对象析构,logDestruction被调用,抛出异常21,而析构函数没有捕获这个异常,而是让它流出了destr...

461
jackieluo

腾讯 · 工程师 (已认证)

一个InnoDB死锁案例

更新数据库的操作最后是成功的,分析可能是因为这个服务两个节点都在做重试,对同一行记录并发进行读取及更新时出现冲突导致,查了一下资料:

832
jackieluo

腾讯 · 工程师 (已认证)

I/O复用——单进程服务器(select版)

为了可以处理多个客户的请求,我们之前一直使用多进程TCP并发服务器,socket()监听一个套接口,accept()多个用户,父进程监听listenfd,子线程...

1802
jackieluo

腾讯 · 工程师 (已认证)

I/O复用——shutdown函数

尽管修改后的str_cli函数已经可以同时处理输入和网络套接口的事件,但是它仍旧是不正确的。在它修改前的版本,即阻塞I/O模型下,一个回射请求的总时间是RTT(...

1144
jackieluo

腾讯 · 工程师 (已认证)

I/O复用——select函数

select函数让进程告诉内核,等待数个事件,某个事件发生或者达到指定时间时,唤醒进程。

1984
jackieluo

腾讯 · 工程师 (已认证)

I/O复用——几种I/O模型对比

之前在服务器进程终止中讨论的情形,TCP客户端同时要处理两个输入,一是标准输入,二是TCP套接口。而此时若是服务器进程被杀死,服务器尽管正确地给客户发送了FIN...

3596
jackieluo

腾讯 · 工程师 (已认证)

TCP回射客户-服务器程序

创建一个TCP套接口,用通配地址(INADDR_ANY)和unp.h中定义的众所周知端口(SERV_PORT),端口号为9877。

3945
jackieluo

腾讯 · 工程师 (已认证)

多进程TCP并发服务器

我们的期望应该是一台服务器同时为多个客户服务。实现并发服务器最简单的办法就是为每个客户均fork一个子进程。

1.2K8
jackieluo

腾讯 · 工程师 (已认证)

基本TCP套接口编程

为了执行网络I/O,一个进程(无论是服务端还是客户端)必须做的第一件事情就是调用socket函数。

4296
jackieluo

腾讯 · 工程师 (已认证)

C/C++协程的简单尝试

最近用tars框架编写后台服务的时候,逐渐抛弃了之前的异步调用方式,而是使用协程,以同步代码的写法实现并发调用,所以希望可以了解学习一下协程的相关知识。

1.1K6
jackieluo

腾讯 · 工程师 (已认证)

svn迁移git的一次尝试

67212
jackieluo

腾讯 · 工程师 (已认证)

套接口编程简介

每个协议族都定义了自己的套接口地址结构,名字均以sockaddr_开头,对应协议族的标志结束。大部分套接口函数需要指向套接口地址结构的指针作为参数。

2818
jackieluo

腾讯 · 工程师 (已认证)

传输层:TCP和UDP

平时我们使用的tcpdump、ping、traceroute属于TCP/IP协议族,虽然叫TCP/IP协议族,但是这个协议族还涉及到许多其他成员。下图是其概貌。

3453
jackieluo

腾讯 · 工程师 (已认证)

Unix网络编程简介

而TCP/IP协议栈使用大端字节序。应用程序交换格式化数据时,字节序问题就会出现。对于TCP/IP,地址用网络字节序来表示,所以应用程序有时需要在处理器的字节序...

4082
jackieluo

腾讯 · 工程师 (已认证)

htons&ntohs

而TCP/IP协议栈使用大端字节序。应用程序交换格式化数据时,字节序问题就会出现。对于TCP/IP,地址用网络字节序来表示,所以应用程序有时需要在处理器的字节序...

2315
jackieluo

腾讯 · 工程师 (已认证)

《UNIX网络编程》源码编译

2907
jackieluo

腾讯 · 工程师 (已认证)

一个简单的git开发流程

最近将手上svn的一些服务版本管理迁移到git库管理,下面简要描述一下使用的Git工作流程。

71621
jackieluo

腾讯 · 工程师 (已认证)

使用strptime函数时遇到的一个坑

做新专辑排序的需求时,需要对专辑的时间进行排序,由于目前该字段是字符串类型的日期,在排序函数中要转成标准的UNIX时间戳来进行对比,大概代码如下:

3038

扫码关注云+社区

领取腾讯云代金券