包尾加\n编程实践SYNOPSIS
#include
#include
ssize_t recv(int sockfd, void *buf, size_t len, int flags);与read相比,只能用于套接字文件描述符,而且多了一个flagsFlags常用取值:MSG_OOB(紧急指针,带外数据) This flag requests r...
分类:
其他好文 时间:
2014-12-05 12:46:02
阅读次数:
276
Socket 基础API实践(2)--实现回射服务器accept函数功能:从已完成连接队列返回第一个连接,如果已完成连接队列为空,则阻塞。原型int accept(int sockfd, struct sockaddr *addr, socklen_t *addrlen);参数 sockfd:服务器套接字 addr:将返回对等方的套接字地址 addrlen:返回对等方的套接字地址...
分类:
其他好文 时间:
2014-12-01 22:27:11
阅读次数:
269
在socket函数和bind函数之间加入一段代码://建立服务器端socketif((server_sockfd=socket(AF_INET,SOCK_STREAM,0))<0){ perror("server_sockfdcreationfailed"); exit(EXIT_FAILUR...
分类:
其他好文 时间:
2014-11-24 16:37:41
阅读次数:
167
http://www.educity.cn/linux/1241288.html有时候我们需要控制套接字的行为(如修改缓冲区的大小),这个时候我们就要学习套接字选项。 int getsockopt(int sockfd,int level,int optname,void *optval,sock....
分类:
其他好文 时间:
2014-11-21 09:07:05
阅读次数:
195
前面几节我们讨论了非阻塞IO的基本概念、Buffer的设计以及非阻塞connect的实现,现在我们使用它们来完成客户端的编写。 我们在http://www.cnblogs.com/inevermore/p/4049165.html中提出过,客户端需要监听stdin、stdout和sockfd。 这里...
分类:
系统相关 时间:
2014-10-24 22:10:27
阅读次数:
388
我们为客户端的编写再做一些工作。 这次我们使用非阻塞IO实现connect函数。 int connect(int sockfd, const struct sockaddr *addr, socklen_t addrlen); 在阻塞IO中,调用connect后一般会阻塞,直到确定连接成功或者失败。...
分类:
系统相关 时间:
2014-10-24 20:45:50
阅读次数:
290
本文介绍Tcp的简单应用:简单的 回传(即客户端发送什么,服务器就转发给客户端什么)。主要包含以下几个函数原型:服务器端://服务器端主要函数原型:int socket(int domain, int type, int protocol);int bind( int sockfd , const ...
分类:
其他好文 时间:
2014-10-15 04:16:59
阅读次数:
254
Unix网络编程描述如下: #include int listen(int sockfd, int backlog); 返回:若成功则为0, 若出错则为-1; 本函数通常应该在调用socket和bind这两个函数之后,并在调用accept函数之前调用;为了理解其中的backlog参数,...
分类:
其他好文 时间:
2014-10-13 17:10:09
阅读次数:
187
看了TCP的一些东西,知道服务器往以及关闭了的sockfd中写两次时,会产生SIGPIPE信号,如果不处理,默认会挂掉服务器
弄个小例子测试一下:
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#inc...
分类:
其他好文 时间:
2014-10-07 16:31:43
阅读次数:
178
在Linux C网络编程中,一共有两种方法来关闭一个已经连接好的网络通信,它们就是close函数和shutdown函数,它们的函数原型分别为:
1
#include
2
int close(int
sockfd)
3
//返回:0——成功, 1——失败
4
...
分类:
其他好文 时间:
2014-09-01 21:13:13
阅读次数:
228