unix网络编程(第一卷)套接字联网API
文章平均质量分 74
午后小夕
趁着青春,尽情挥洒,加油
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
网络编程之inet_pton,inet_ntop,sock_ntop函数
inet_pton inet_pton函数转换由strptr指针所指的字符串,并通过addrptr指针存放二进制结果。若成功则为1,若输入不是有效的表达式格式则为0,若出错则为-1;int inet_pton(int family, const char* strptr, void* addrptr){if (family == AF_INET){st原创 2015-04-23 14:19:20 · 6494 阅读 · 0 评论 -
socket的客户端-服务器程序
客户端程序: 通过服务器返回当前的时间和日期。#include "unp.h"#include "my_err.h"int main(int argc, char** argv){ int sockfd, n; char recvline[MAXLINE + 1]; struct sockaddr_in servaddr原创 2015-04-24 15:54:49 · 1035 阅读 · 0 评论 -
unix网络编程readn,writen,readline包裹函数
一、Readn包裹函数/* include readn */#include "unp.h"ssize_t /* Read "n" bytes from a descriptor. */readn(int fd, void *vptr, size_t n){size_t nleft;ssize_t nread;char *ptr;ptr = vptr;原创 2015-04-26 13:35:29 · 1132 阅读 · 0 评论 -
TCp客户/服务器程序示例
1. TCP回射服务器程序:main函数#include "unp.h"int main(int argc, char **argv){int listenfd, connfd;pid_t childpid;socklen_t clilen;struct sockaddr_in cliaddr, servaddr;listenfd = Socket(AF_INET,原创 2015-04-26 15:17:34 · 1054 阅读 · 0 评论 -
readn,writen和readline函数
readn函数:从一个描述符读n字节#include "unp.h"ssize_t readn(int fd, void* vptr, size_t n){size_t nleft;ssize_t nread;char *ptr;ptr = vptr;nleft = n;while (nleft > 0){if ((nread = read(fd, pt原创 2015-04-24 09:16:11 · 1778 阅读 · 0 评论 -
signal函数
调用POSIX sigaction函数的signal函数。#include "unp.h"Sigfunc* signal(int signo, Sigfunc * func)//第一个参数为信号名,第二个参数或为指向函数的指针,或为常值SIG_IGN或SIG_DFL.{struct sigaction act, oact;act.sa_handler = func;原创 2015-04-27 15:11:06 · 592 阅读 · 0 评论 -
套接字选项之getsockopt和setsockopt
这两个函数仅用于套接字。#includeint getsockopt(int sockfd,int level,int optname,void* optval,socklen_t *optlen);int setsockopt(int sockfd,int level,int optname,const void *optval,socklent_t optlen);均原创 2015-05-24 16:40:26 · 1116 阅读 · 0 评论 -
检查所有套接字选项的main函数
代码如下:int main(int argc, char **argv){int fd;socklen_t len;struct sock_opts *ptr;for (ptr = sock_opts, ptr->opt_str != NULL; ptr++){printf("%s:", ptr->opt_str);if (ptr->opt_val_str ==原创 2015-05-24 17:11:37 · 886 阅读 · 0 评论 -
UDP套接字编程
由于udp客户/服务器例子是不可靠的,如果一个客户数据报丢失,(比如 ,被客户主机和服务器主机之间的某个路由器丢弃 ),客户将永远阻塞于dg_cli函数中的recvfrom调用,等待一个用于不会到达的服务器应答。类似的,如果客户数据报到达服务器,但是服务器的应答丢失了,客户也将永远阻塞于recvfrom调用。防止这样永久阻塞的一般方法是给客户的recvfrom设置一个超时。当然还有更好的解决办法。原创 2015-08-04 18:09:19 · 646 阅读 · 0 评论
分享