- 博客(9)
- 资源 (2)
- 问答 (1)
- 收藏
- 关注
原创 UDP编程初识
复习:TCP 每个TCP套接字都有一个发送区,我们可以使用SO_SNDBUF来更改缓冲区的大小,当进程调用write时,内核从该应用进程的缓冲区中复制所有数据到套接字的缓冲区。如果该套接字的发送缓冲区容不下该应用进程的所有数据(或是应用进程的缓冲区大于套接字的发送缓冲区,或是套接字的发送缓冲区已有其他数据),该应用进程将被投入睡眠(这里的套接字是阻塞的),内核将不从write系统调用
2015-03-24 19:54:43 416
原创 网络编程基础函数
开头复习一下一个标志: O_APPEND 关于 O_APPEND 当多核、众核CPU成为线上服务器的主流时,为了充分利用系统的多核处理能力,最常见的思路是将原先单进程单线程的程序改造成多进程或多线程的程序。 对于多进程或多线程的程序,一种常见的需求就是并发写日志的需求。为了解决这个需求,最容易想到的思路是利用linux进程或线程同步机制保证并发写的时候日志不会相互
2015-03-22 16:46:09 481
原创 关于select , pselect , poll
处理多个输入的时候,需要使得内核一旦发现进程指定的一个或多个I/O条件就绪(即输入准备好被读取,或描述符已能承接更多输出),它就通知进程 此即为 I/O 复用 应用场合: 1、客户处理多个描述符时(交互式输入+网络套接字) 2、客户同时处理多个套接字 3、一个TCP服务器既要处理监听套接字,又要处理已连接套接字
2015-03-22 16:21:05 444
原创 关于TCP连接中的状态(以后整理进相关文章中)
CLOSED: 这个没什么好说的了,表示初始状态。LISTEN: 这个也是非常容易理解的一个状态,表示服务器端的某个SOCKET处于监听状态,可以接受连接了。SYN_RCVD: 这个状态表示接受到了SYN报文,在正常情况下,这个状态是服务器端的SOCKET在建立TCP连接时的三次握手会话过程中的一个中间状态,很短暂,基本上用netstat你是很难看到这种状态的,
2015-03-21 20:36:29 474
原创 第十六章(二) 套接字初识
数据传输: 尽管可以通过 read 和 write 交换数据,但这就是这两个函数所能作的一切。但是如果想要指定选项,从多个客户端接收数据包,或者发送带外数据,就需要使用6个为数据传递而设计的套接字函数。 三个传送数据的套接字函数:ssize_t send(int sockfd, void *buf, size_t nbytes, int flags) /*使用send时套接
2015-03-21 16:19:50 416
原创 第十六章(一) 套接字初识
地址格式 一个地址标识一个特定通信域的套接字端点,地址格式与这个特定的通信域相关。为使不同的格式地址能够传入到套接字函数,地址会被强制转化成一个通用的地址结构:struct sockaddr{ sa_family_t sa_family; //address family char sa_data[]; //variable-length address . .
2015-03-21 16:03:40 427
原创 Unix/linux 编程实践教程 ---------- 服务器-客户端编程
一个简单到服务器可以写成这个样子:int main(){ int sock,fd; void child_waiter(int),process_request(int); signal(SIGCHLD,child_waiter); if((sock=make_server_socket(PORTNUM)) == -1) err_deal("---"); whi
2015-03-09 21:36:33 405
原创 tcp/ip ---------- 网际协议
第三章、 网际协议IP数据报介绍: IP数据报的不可靠 意思是他不能保证IP数据报成功到达目的地。 IP提供最好的传输服务。如果发生某种错误时,比如某个路由器暂时用完了缓冲区,IP有一个简单的错误处理算法:丢弃该数据报,然后发送ICMP消息报给信息源端。任何要求的可靠性都必须由上层提供。 IP数据报的无连接 意思是IP并不维护任何关于后续数据报的状态信息。每个数据报
2015-03-06 12:48:32 441
原创 tcp/ip ---------- 链路层
链路层 三个目的: 1、为ip模块发送和接收ip数据报 2、为ARP模块发送ARP请求和接收ARP应答 3、为RARP模块发送请求和接收应答SLIP协议 SLIP适用于家庭中每台计算机几乎都有的RS-232串行端口和高速调制解调器接入internet 缺陷: 1、每一端必须知道对方的IP地址,没有办法把本端的IP地址通知给另一端 2、数据帧中没
2015-03-01 11:29:34 353
linux下编程 ,关于信号sigaction中的sa_flags ,一些改变却不起作用
2014-11-26
TA创建的收藏夹 TA关注的收藏夹
TA关注的人