上一页 1 ··· 20 21 22 23 24 25 26 27 28 ··· 70 下一页
摘要: ======== TCP ========TCP_Serversocket()bind()listen() accept()write()read()close() 和shutdown() TCP_Client socket() connect() send() 和recv() close() 和shutdown() ======== UDP ======== UDP_Server socket()bind()sendto() 和recvfrom() close() 和shutdown() UDP_Client socket()sendto() 和recvfrom() close() 和shu 阅读全文
posted @ 2013-05-16 18:28 oayx 阅读(854) 评论(0) 推荐(0) 编辑
摘要: 简介POSIX thread 简称为pthread,Posix线程是一个POSIX标准线程.该标准定义内部API创建和操纵线程.作用 线程库实行了POSIX线程标准通常称为pthreads.pthreads是最常用的POSIX系统如Linux和Unix,而微软Windowsimplementations同时存在.举例来说,pthreads-w32可支持MIDP的pthread Pthreads定义了一套 C程序语言类型、函数与常量,它以 pthread.h 头文件和一个线程库实现。数据类型 pthread_t:线程句柄 pthread_attr_t:线程属性 线程操纵函数(简介起见,省... 阅读全文
posted @ 2013-05-16 18:27 oayx 阅读(426) 评论(0) 推荐(0) 编辑
摘要: TCP三次握手TCP连接是通过三次握手进行初始化的。三次握手的目的是同步连接双方的序列号和确认号并交换TCP窗口大小信息。以下步骤概述了通常情况下客户端计算机联系服务器计算机的过程:1.客户端向服务器发送一个SYN置位的TCP报文,其中包含连接的初始序列号x和一个窗口大小(表示客户端上用来存储从服务器发送来的传入段的缓冲区的大小)。2.服务器收到客户端发送过来的SYN报文后,向客户端发送一个SYN和ACK都置位的TCP报文,其中包含它选择的初始序列号y、对客户端的序列号的确认x+1和一个窗口大小(表示服务器上用来存储从客户端发送来的传入段的缓冲区的大小)。3. .客户端接收到服务器端返回的SY 阅读全文
posted @ 2013-05-16 18:27 oayx 阅读(378) 评论(0) 推荐(0) 编辑
摘要: 阅读本文前,请先参考:select,poll,epoll区别select用法 #include <sys/time.h> #include <sys/types.h> #include <unistd.h> #include <sys/select.h> int select(int n, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout); int pselect(int n, fd_set *readfds, fd_set *writef 阅读全文
posted @ 2013-05-16 18:26 oayx 阅读(613) 评论(0) 推荐(0) 编辑
摘要: 领导者/追随者模型(Leader/Followers)这几天翻了些文章,发现对领导者/追随者模型说的比较少,下面就这个模型打个比方:话说一个地方有一群有组织无纪律的人从事山贼这个很有前途的职业。一般就是有一个山贼在山路口察看,其他人在林子里面睡觉。假如发现有落单的过往客商,望风的山贼就会弄醒一个睡觉的山贼,然后自己去打劫。醒来的山贼接替作望风的事情。打劫的山贼搞定以后,就会去睡觉,直到被其他望风的山贼叫醒来望风为止。有时候过往客商太多,而山贼数量不够,有些客商就能侥幸平安通过山岭(所有山贼都去打劫其他客商了)。下面是这个模式的计算机版本:有若干个线程(一般组成线程池)用来处理大量的事件有一个线 阅读全文
posted @ 2013-05-16 18:25 oayx 阅读(1097) 评论(0) 推荐(0) 编辑
摘要: 在网络程序中遇到的一些问题进行了总结, 这里主要针对的是我们常用的TCP socket相关的总结, 可能会存在错误, 有任何问题欢迎大家提出.对于网络编程的更多详细说明建议参考下面的书籍《UNIX网络编程》 《TCP/IP 详解》 《Unix环境高级编程》非阻塞IO和阻塞IO:在网络编程中对于一个网络句柄会遇到阻塞IO和非阻塞IO的概念, 这里对于这两种socket先做一下说明基本概念:socket的阻塞模式意味着必须要做完IO操作(包括错误)才会返回。 非阻塞模式下无论操作是否完成都会立刻返回,需要通过其他方式来判断具体操作是否成功。设置:一般对于一个socket是阻塞模式还是非阻塞模式有两 阅读全文
posted @ 2013-05-16 18:24 oayx 阅读(649) 评论(0) 推荐(1) 编辑
摘要: TCP/IP协议头部结构体(转)网络协议结构体定义[cpp] view plaincopyprint?//i386islittle_endian. #ifndefLITTLE_ENDIAN #defineLITTLE_ENDIAN(1)//BYTEORDER #else #errorRedefineLITTLE_ORDER #endif //Mac头部,总长度14字节 typedefstruct_eth_hdr{unsignedchardstmac[6];//目标mac地址 unsignedcharsrcmac[6];//源mac地址 unsignedshorteth_type;//以太网类型 阅读全文
posted @ 2013-05-16 18:19 oayx 阅读(25234) 评论(0) 推荐(4) 编辑
摘要: 摘要:本文从介绍基础概念入手,探讨了在C/C++中对日期和时间操作所用到的数据结构和函数,并对计时、时间的获取、时间的计算和显示格式等方面进行了阐述。本文还通过大量的实例向你展示了time.h头文件中声明的各种函数和数据结构的详细使用方法。关键字:UTC(世界标准时间),Calendar Time(日历时间),epoch(时间点),clock tick(时钟计时单元)1.概念在C/C++中,对字符串的操作有很多值得注意的问题,同样,C/C++对时间的操作也有许多值得大家注意的地方。最近,在技术群中有很多网友也多次问到过C++语言中对时间的操作、获取和显示等等的问题。下面,在这篇文章中,笔者将主 阅读全文
posted @ 2013-05-15 12:50 oayx 阅读(673) 评论(0) 推荐(0) 编辑
摘要: 本文将带您了解一些良好的和内存相关的编码实践,以将内存错误保持在控制范围内。内存错误是 C 和 C++ 编程的祸根:它们很普遍,认识其严重性已有二十多年,但始终没有彻底解决,它们可能严重影响应用程序,并且很少有开发团队对其制定明确的管理计划。但好消息是,它们并不怎么神秘。引言C 和 C++ 程序中的内存错误非常有害:它们很常见,并且可能导致严重的后果。来自计算机应急响应小组(请参见参考资料)和供应商的许多最严重的安全公告都是由简单的内存错误造成的。自从 70 年代末期以来,C 程序员就一直讨论此类错误,但其影响在 2007 年仍然很大。更糟的是,如果按我的思路考虑,当今的许多 C 和 C++ 阅读全文
posted @ 2013-05-04 18:57 oayx 阅读(1471) 评论(0) 推荐(0) 编辑
摘要: 本文将对 Linux? 程序员可以使用的内存管理技术进行概述,虽然关注的重点是 C 语言,但同样也适用于其他语言。文中将为您提供如何管理内存的细节,然后将进一步展示如何手工管理内存,如何使用引用计数或者内存池来半手工地管理内存,以及如何使用垃圾收集自动管理内存。为什么必须管理内存内存管理是计算机编程最为基本的领域之一。在很多脚本语言中,您不必担心内存是如何管理的,这并不能使得内存管理的重要性有一点点降低。对实际编程来说,理解您的内存管理器的能力与局限性至关重要。在大部分系统语言中,比如 C 和 C++,您必须进行内存管理。本文将介绍手工的、半手工的以及自动的内存管理实践的基本概念。追溯到在 A 阅读全文
posted @ 2013-05-04 18:56 oayx 阅读(682) 评论(0) 推荐(0) 编辑
上一页 1 ··· 20 21 22 23 24 25 26 27 28 ··· 70 下一页