首页 › 月度存档 › 7 月 2014

Linux socket编程(五) 文件传输

这一篇给之前写的聊天室再加上文件传输。
继续阅读 »

Linux socket编程(四) 简单聊天室之epoll版

这一篇我们用epoll改写之前写的简单聊天室,Epoll是Linux内核为处理大批量句柄而作了改进的poll。
继续阅读 »

Linux socket编程(三) 简单的多线程聊天室

要用到多线程以及线程的读写锁,之前写的Socket类、ServerSocket要做相应的改变

因为服务器端要维持着一个存储客户端Socket信息到数据结构,当多个线程同时访问这个结构时,要做同步处理,所以要在适当的时候加上读锁或写锁。

继续阅读 »

Linux socket编程(二) 服务器与客户端的通信

上一篇写了对套接字操作的封装,这一节使用已封装好的Socket类实现服务器与客户端的通信(Socket的定义见上篇Socket.h)

继续阅读 »

Linux socket编程(一) 对套接字操作的封装

以前写的,现在回顾一下:

下面是对socket操作的封装,因为在Linux下写中文到了windows里面会乱码,所以注释用英文来写,有空再查下解决方法吧 继续阅读 »

epoll的一个demo,备忘(epoll+线程池)

epoll的一个demo,备忘(epoll+线程池)

继续阅读 »

GCC 64位程序的makefile条件编译心得——32位版与64位版、debug版与release版(兼容MinGW、TDM-GCC)

为了适应现在越来越流行的64位系统,经常需要将代码分别编译为32位版和64位版。其次,除了需要生成debug版用于开发测试外,还需要生成 release版用于发布。本文介绍了如何利用makefile条件编译来生成这些版本,而且不仅兼容Linux下的GCC,还支持MinGW、TDM- GCC等Windows下的GCC编译器。

继续阅读 »

c++中的 extern “C”

比如说你用C 开发了一个DLL 库,为了能够让C ++语言也能够调用你的DLL 输出(Export) 的函数,你需要用extern “C” 来强制编译器不要修改你的函数名。

继续阅读 »

gcc g++选用静态库动态库的参数

静态链接libA动态链接libB

yum下载依赖rpm包

平常我们使用yum的时候总是希望能够将需要的包保存一份以备后用,但是系统自带的yum默认安装后会自动删除掉安装包,现在我们有两种方法来实现本地保存安装包

继续阅读 »