自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 资源 (4)
  • 收藏
  • 关注

转载 TCP 连接断连问题剖析

 2008 年 8 月 21 日TCP 连接的保持并不需要任何额外的操作,但在实际应用中,要长时间保持一个 TCP 连接则会受到诸多因素的影响。本文介绍了几种常见的导致 TCP 连接断连的原因,并在此基础上,以 AIX 系统上 TCP 连接的异常断连为例,借助相应的网络分析工具,逐步揭开 AIX 上 TCP 断连的原因,并给出两种可行的解决方案。引言在官方的正式文档中,TCP/IP

2009-03-31 16:28:00 603

转载 Linux 线程实现机制分析

 自从多线程编程的概念出现在 Linux 中以来,Linux 多线应用的发展总是与两个问题脱不开干系:兼容性、效率。本文从线程模型入手,通过分析目前 Linux 平台上最流行的 LinuxThreads 线程库的实现及其不足,描述了 Linux 社区是如何看待和解决兼容性和效率这两个问题的。一.基础知识:线程和进程按照教科书上的定义,进程是资源管理的最小单位,线程是程序执行的最小单位。

2009-03-27 19:08:00 362

转载 POSIX多线程

  一个进程中的线程之间主要共享:进程的指令、大多数数据(除了私有数据)、signal的处理方式和处理例程、进程的运行环境等。线程之间也有它们的区别,它们各自拥有自己的线程ID、寄存器、私有的线程栈、错误代码变量errno、信号掩码(signal mask)以及各自的优先级。编程时,要加入头文件,并在编译链接时链入Pthread库,例如cc -lpthread -o xxx xxx.c。

2009-03-27 18:39:00 340

转载 条件变量

1.初始化条件变量pthread_cond_init#include int pthread_cond_init(pthread_cond_t *cv,const pthread_condattr_t *cattr);返回值:函数成功返回0;任何其他返回值都表示错误初始化一个条件变量。当参数cattr为空指针时,函数创建的是一个缺省的条件变量。否则条件变量的属性将由ca

2009-03-27 17:36:00 595

原创 VMware下linux与window文件夹共享

这里说的是在虚拟机下来实现在windows下共享一个文件夹。下面来说明一下是如何实现的:1.     安装VMware.Workstation.2.     安装Redhat Linux 9.0,在虚拟机下。3.     完成前两步后,打开VMware->工具栏—>虚拟机->选择 安装Vmware工具,进入在虚拟机中安装好的Linux环境(使用超级用户),这时光驱中已经出现

2009-03-25 18:59:00 583

转载 Linux系统环境下的Socket编程详细解析

什么是Socket Socket接口是TCP/IP网络的API,Socket接口定义了许多函数或例程,程序员可以用它们来开发TCP/IP网络上的应用程序。要学Internet上的TCP/IP网络编程,必须理解Socket接口。Socket接口设计者最先是将接口放在Unix操作系统里面的。如果了解Unix系统的输入和输出的话,就很容易了解Socket了。网络的Socket数据传输是一种特

2009-03-25 11:30:00 415

转载 如何设置socket的Connect超时(linux)

1.首先将标志位设为Non-blocking模式,准备在非阻塞模式下调用connect函数 2.调用connect,正常情况下,因为TCP三次握手需要一些时间;而非阻塞调用只要不能立即完成就会返回错误,所以这里会返回EINPROGRESS,表示在建立连接但还没有完成。 3.在读套接口描述符集(fd_set rset)和写套接口描述符集(fd_set wset)中将当前套接口置位(用FD_ZER

2009-03-25 11:15:00 778

转载 深入了解epoll

一、 介绍 Epoll是一种高效的管理socket的模型,相对于select和poll来说具有更高的效率和易用性。传统的select以及poll的效率会因为socket数量的线形递增而导致呈二次乃至三次方的下降,而epoll的性能不会随socket数量增加而下降。标准的linux-2.4.20内核不支持epoll,需要打patch。本文主要从linux-2.4.32和linux-2.6.1

2009-03-24 13:18:00 1056

转载 Socket send函数和recv函数详解

int send( SOCKET s,      const char FAR *buf,      int len,      int flags );  不论是客户还是服务器应用程序都用send函数来向TCP连接的另一端发送数据。客户程序一般用send函数向服务器发送请求,而服务器则通常用send函数来向客户程序发送应答。该函数的第一个参数指定发送端套接字描

2009-03-23 18:53:00 590

转载 QQ游戏百万人同时在线服务器架构实现

2009-03-20 19:31:00 375

转载 sevencat封装的Epoll模型

#pragma once#include #include #include #include #include #include #include #include "log.h"#ifndef EPOLL_SIZE#define EPOLL_SIZE 4096#define EPOLL_CONTEXT_SIZE (4096+256)#endiftypedef void * EPollerCon

2009-03-20 19:26:00 370

原创 send/sendto/sendmsg

【send/sendto/sendmsg系统调用】     功能描述:发送消息。send只可用于基于连接的套接字,send 和 write唯一的不同点是标志的存在,当标志为0时,send等同于write。sendto 和 sendmsg既可用于无连接的套接字,也可用于基于连接的套接字。除了套接字设置为非阻塞模式,调用将会阻塞直到数据被发送完。用法: #include #include ssize_

2009-03-20 19:25:00 760

转载 epoll IOCP 异同

但凡作过比较深入的网络编程的人,都会知道,在win平台下,高效的IO模型是IOCP,而在linux底下则是epoll。那么,epoll与iocp之间到底有哪些异同之处呢?首先,我们看一下它们相同的地方。两者都是处理异步IO的高效模型,这种高效,除了“异步处理”这个共同的特征之外,二者都可以通过指针携带应用层数据:在IOCP里,应用层数据可以通过单句柄数据和单IO数据来与IOCP底层通信;而在epo

2009-03-20 19:16:00 505

原创 VC——线程同步

 什么是同步:“同步”不是指平常所说的两件事情同时进行。它的目的是使多个线程之间协调工作,而且常常是避免两个线程同时进行某些操作,比如同时访问同一个共享资源。一般来说,同步是通过暂时将会发生冲突操作的某个线程暂停执行(称为阻塞线程),然后等待不会冲突时再继续执行。需要同步的情况:1、多个线程同时访问同一对象时      MFC对象在对象级不是线程安全的,只有在类级才是。如:两个线程可以安全地使用两

2009-03-19 18:27:00 719

转载 waitformultipleobjects做什么用

WaitForMultipleObjects是Windows中的一个功能非常强大的函数,几乎可以等待Windows中的所有的内核对象(关于该函数的描述和例子见MSDN,)。但同时该函数在用法上却需要一定的技巧。  原型:DWORD WaitForMultipleObjects(  DWORD nCount,  const HANDLE* lpHandles,  BOOL bWaitAll,  DW

2009-03-19 18:23:00 732

原创 Windows网络编程-(完成端口及网络编程)详细介绍1

 Windows网络编程-(完成端口及网络编程)详细介绍1收藏早在两年前我就已经能很熟练的运用完成端口这种技术了,只是一直没有机会将它用在什么项目中,这段时间见到这种技术被过分炒作,过分的神秘化,就想写一篇解释它如何工作的文章.想告诉大家它没有传说中的那么高深难懂!有什么错误的地方还请高人指正.转载请注明出处及作者,谢谢!以一个文件传输服务端为例,在我的机器上它只起两个线程就可以为很多个个客户

2009-03-14 00:12:00 511

原创 一个对Winsock 完成端口模型封装的类

一个对Winsock 完成端口模型封装的类 发表日期:2004-01-29作者:elssann[] 出处:   在WINDOWS下进行网络服务端程序开发,毫无疑问,Winsock 完成端口模型是最高效的。Winsock的完成端口模型借助Widnows的重叠IO和完成端口来实现,完成端口模型懂了之后是比较简单的,但是要想掌握

2009-03-09 23:08:00 572

原创 Windows完成端口与Linux epoll技术简介

 Windows完成端口与Linux epoll技术简介WINDOWS完成端口编程1、基本概念2、WINDOWS完成端口的特点3、完成端口(Completion Ports )相关数据结构和创建4、完成端口线程的工作原理5、Windows完成端口的实例代码Linux的EPoll模型1、为什么select落后2、内核中提高I/O性能的新方法epoll3、epoll的优点4、epoll的工作模式 

2009-03-09 23:07:00 1157 1

原创 Windows网络编程-(完成端口及网络编程)详细介绍(转载二)

Windows系统编程之异步I/O和完成端口【作者】北极星2003【来源】看雪技术论坛(bbs.pediy.com) 【时间】2006年7月1日一、  同步I/O和异步I/O在介绍这部分内容之前先来认识下“异步I/O”。  说起异步IO,很容易联想到同步I/O,对于同一个I/O对象句柄在同一时刻只允许一个I/O操作,其原理如下图所示:    显然,当内核真正处理I/O的时间段(T2~T4),用户线

2009-03-09 22:53:00 467

转载 Windows完成端口编程

Windows完成端口编程  一 基本概念二 OVERLAPPED数据结构三 完成端口的内部机制创建完成端口完成端口线程的工作原理线程间数据传递线程的安全退出一 基本概念      设备---windows操作系统上允许通信的任何东西,比如文件、目录、串行口、并行口、邮件槽、命名管道、无名管道、套接字、控制台、逻辑磁盘、物理磁

2009-03-09 22:49:00 502

转载 HTTP 请求报头详解

 HTTP头字段包括4类:     general-header ;     request-header ;     response-header ;     entity-header . ******************************************************************************* Genera

2009-03-06 22:00:00 596

转载 RTSP协议状态机

 RTSP客户端和服务器端的状态机描述了从RTSP会话初始化到会话终止的过程中协议的行为。    根据每个对象的要素来定义其状态。可以通过媒体流URL和RTSP会话标志符来唯一地标识每个对象。聚合URL(aggregate URLs)用以标识由多个媒体流组成的表示,任何使用这种聚合URL的请求/回复都将会影响表示中所有媒体流的状态。例如,如果表示/movie包含两个媒体流/movie/au

2009-03-06 21:58:00 632

转载 RTSP协议

  RTSP,实时流协议,是一个C/S多媒体节目协议,它可以控制流媒体数据在IP网络上的发送,同时提供用于音频和视频流的“VCR模式”远程控制功能,如停止、快进、快退和定位。同时RTSP又是一个应用层协议,用来与诸如RTP、RSVP等更低层的协议一起,提供基于Internet的整套流化服务。基于RTSP协议流媒体服务器的实现方案可以让流媒体在IP上自由翱翔。 RTSP协议 1.协议特点

2009-03-06 21:51:00 553

转载 TCP/IP协议原理

1 internet概述  internet是一个由众多网络互联而成的世界范围内的计算机网络。从通信的角度来看,internet是一个以TCP/IP统一的标准,将世界范围内多个国家的部门和机构的两层计算机子网联接而成的三层数据网。从资源角度来看,internet是一个集各领域、各学科、各种应用等各种资源为一体的资源数据网。  internet具有以下特点:  (1) TCP/IP是internet

2009-03-06 21:42:00 696

转载 网络编程

标签: 大家一起学习啊  TCP/IP原理TCP/IP原理                                                          TCP/IP 是很多的不同的协议组成,实际上是一个协议组,TCP 用户数据报表协议(也            称作TCP 传输控制协议,Transport Control Protocol。可靠的主机到主机层协议。

2009-03-06 21:38:00 453

linux系统工程师-培训教材

对与想 往Linux 系统 工程师发展方向 比较有帮助

2009-07-10

linux系统工程师-培训教材

对于喜欢Linux编程,往系统工程师 方向比较有帮助

2009-07-10

C++开发 的Mysql类库

利用该类库可以连接,查询,添加mysql数据库

2009-01-02

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除