网络编程学习笔记
文章平均质量分 56
记录网络编程的学习总结
kgduu
这个作者很懒,什么都没留下…
展开
-
linux异步操作接口
需要头文件结构定义为aio_lio_opcode支持以下值。原创 2024-07-28 16:07:56 · 193 阅读 · 0 评论 -
非阻塞connect的正确使用方式
首先创建reactive_socket_connect_op操作,调用start_connect_op,在套接字为非阻塞,或者将套接字设置为非阻塞,调用connect发起连接,如果错误码为in_progress或者would_block,将reactive_socket_connect_op操作添加到事件循环中,在套接字变为可写时,会执行reactive_socket_connect_op_base基类的do_perform方法,其会调用socket_ops#non_blocking_connect方法。原创 2024-04-03 22:43:17 · 503 阅读 · 0 评论 -
网络地址结构
window 头文件linux头文件 或者原创 2024-04-02 23:31:25 · 225 阅读 · 0 评论 -
网络编程中的问题总结
1、服务端重启后bind失败,因为TCP 套接字状态 TIME_WAIT 引起,该状态在套接字关闭后约保留 2 到 4 分钟。在 TIME_WAIT 状态退出之后,套接字被删除,该地址才能被重新绑定而不出问题。可以通过setsockopt()设置Socket描述符的选项SO_REUSEADDR为1,表示允许创建端口号相同但IP地址不同的多个Socket描述符。2、select使用的问题,在设置了读写套接字集合时,因为其既作为输入,又作为输出,在调用之前,需要再次设置读写监听套接字集合。原创 2024-02-26 22:40:11 · 221 阅读 · 0 评论 -
网络编程学习笔记(广播)
IPv4对广播的支持是可选的,而IPv6是必须的原创 2014-11-08 21:41:43 · 994 阅读 · 0 评论 -
网络编程学习笔记(ioctl操作)
1、ioctrl函数其函数需要的头文件及声明如下:#include int ioctl(int fd, int request, .../*void *arg/);第三个参数总是一个指针,但指针的类型依赖于request把和网络有关的请求分为6类:(1)套接口操作(2)文件操作(3)接口操作(4)ARP高速缓存操作(5)路由表操作(6)流系统原创 2014-11-08 11:36:39 · 2626 阅读 · 0 评论 -
网络编程学习笔记(非阻塞accept)
修改TCP回射客户程序,在跟用原创 2014-11-07 22:23:38 · 1702 阅读 · 0 评论 -
网络编程学习笔记(shutdown函数)
终止网络连接的正常方法是close,但close有两个限制,可由shutdown来避免1、close将原创 2014-11-07 21:00:05 · 1050 阅读 · 0 评论 -
网络编程学习笔记(非阻塞connect)
非阻塞的三个用途:1、我原创 2014-11-06 23:35:09 · 1017 阅读 · 0 评论 -
网络编程学习笔记(非阻塞读和写)
维护两个缓冲区:to容纳从标准输入到服务器的数据,from原创 2014-11-06 21:45:30 · 1085 阅读 · 0 评论 -
网络编程学习笔记(socketpair函数)
socketpair函数建立一对相互连接的套接口,这个函数只对Unix域大原创 2014-11-04 22:08:21 · 916 阅读 · 0 评论 -
网络编程学习笔记(Unix域套接口地址)
Unix域协议并不是一个实际的协议族,它只是在现一台主机上进行客户-服务通信时,使用与在不同主机上的客户和服务原创 2014-11-04 21:59:45 · 1008 阅读 · 0 评论 -
网络编程学习笔记(辅助数据)
在sendmsg和recvmsg时使用msghdr结构中的msg_control和msg_controllen原创 2014-11-04 21:26:19 · 935 阅读 · 0 评论 -
网络编程学习笔记(recvmsg和sendmsg函数)
这两个函数是最通用的I/O函数。实际上,可以用recvmsg代替read,原创 2014-11-01 22:54:55 · 5099 阅读 · 0 评论 -
网络编程学习笔记(readv和writev函数)
这两个函数与read和write相似,但readv和writev可以让我们在一个函数调用中读取多个缓冲区,这些原创 2014-10-26 23:29:09 · 2411 阅读 · 0 评论 -
网络编程学习笔记(recv和send函数)
与read和write函数相似,只是多了一个附加的参数,其函数原型为:原创 2014-10-12 17:42:34 · 1316 阅读 · 0 评论 -
网络编程学习笔记(套接口超时)
有三种方法给套接口上原创 2014-10-12 17:16:05 · 1009 阅读 · 0 评论 -
网络编程学习笔记(getnameinfo函数)
这个函数与getaddrinfo互补,它以一个套接口地址为参数,返回一个描述主机的字符中原创 2014-10-12 15:52:19 · 13999 阅读 · 0 评论 -
网络编程学习笔记(udp_server函数)
创建一个UDP口的服务端,其代码如下:#include #include #include #include #include #include #include #include #include #include #define MAXLINE 128int udp_server(const char *host, const char *serv, sockle原创 2014-10-12 15:40:09 · 1055 阅读 · 0 评论 -
网络编程学习笔记(udp_connect函数)
创建一个连接UDP套接口的客户端,偌原创 2014-10-12 15:07:00 · 1063 阅读 · 0 评论 -
网络编程学习笔记(udp_client函数)
创建一个未连接的UDP套接口的客户函数,其代码如下:原创 2014-10-12 14:47:15 · 1240 阅读 · 0 评论 -
网络编程学习笔记(tcp_listen函数)
执行tcp服务器程序的一般操作步骤:创建一个tcp原创 2014-10-12 13:44:09 · 2492 阅读 · 0 评论 -
网络编程学习笔记(tcp_connect函数)
执行客户端程序的一般操作步骤,原创 2014-10-11 21:18:41 · 2872 阅读 · 0 评论 -
网络编程学习笔记(freeaddrinfo函数)
由getaddrinfo返回的存储空间,包括addrinfo结构、ai_addr结构和ai原创 2014-10-10 20:37:24 · 10143 阅读 · 0 评论 -
网络编程学习笔记(gai_strerror函数)
gai_strerror返回指向对应的出错信息字符串的指针,其原型原创 2014-10-10 20:25:43 · 6421 阅读 · 0 评论 -
网络编程学习笔记(getaddrinfo函数)
函数getaddrinfo在库函数中隐藏了所有协议依赖性。应用 程序只需要填写原创 2014-10-08 22:14:08 · 2555 阅读 · 0 评论 -
网络编程学习笔记(getservbyname和getservbyport函数)
通过服务器的名字而不是服务器端口号来认知它,而且如果从主机到端口号的映射包含在一个文件中原创 2014-10-07 19:13:49 · 5647 阅读 · 0 评论 -
网络编程学习笔记(gethostname函数)
返回当前主机的名字,原型为:原创 2014-10-07 14:57:06 · 1959 阅读 · 0 评论 -
网络编程学习笔记(uname函数)
函数uname返回当前主机的名字。经常与gethostbyname一起用来原创 2014-10-07 14:47:59 · 1050 阅读 · 0 评论 -
网络编程学习笔记(gethostbyaddr函数)
函数gethostbyaddr取一个二进制的IP地址并试图找到相应于此地址的主机名,与gethostbyname的行为原创 2014-10-05 15:01:23 · 7119 阅读 · 2 评论 -
网络编程学习笔记(gethostbyname2函数与IPv6支持)
其原型为:原创 2014-10-05 14:45:42 · 9085 阅读 · 0 评论 -
网络编程学习笔记(RES_USE_INET6解析器选项)
通过这个选项来通知解析器原创 2014-10-05 14:27:40 · 2989 阅读 · 0 评论 -
网络编程学习笔记(gethostbyname函数)
#include struct hostent* gethostbyname(const char* hostname);成功,返回非空指针,原创 2014-10-04 22:26:01 · 1286 阅读 · 0 评论 -
网络编程学习笔记(使用select函数的TCP和UDP回射服务器程序)
一开始,创建完TCP后,没有用listen监听服务器端:原创 2014-10-03 16:20:21 · 1118 阅读 · 0 评论 -
网络编程学习笔记(UDP的connect函数)
对于已连接的UDP套接口,发生了三个变化:1、原创 2014-09-29 22:01:03 · 884 阅读 · 0 评论 -
网络编程学习笔记(recvfrom很奇怪的一个地方)
recvfrom的最后一个参数不赋值时,返回的是一个很大的数。赋值后就是正常的原创 2014-09-28 22:02:41 · 3212 阅读 · 0 评论 -
网络编程学习笔记(recvfrom和sendto函数)
#include ssize_t recvfrom(int sockfd, void *buff, size_t nbytes, int flags, struct sockaddr *from, socklen_t *a原创 2014-09-27 17:02:58 · 1629 阅读 · 0 评论 -
网络编程学习笔记(TCP套接口选项)
其套接口级别为IPPROTO_TCPTCP_KEEPALIVE:原创 2014-09-27 16:12:59 · 1060 阅读 · 0 评论 -
网络编程学习笔记(ICMPv6和IPv6套接口选项)
ICMPv6套接口选项级别为IPPROTO_ICMPV6原创 2014-09-27 15:57:47 · 4603 阅读 · 0 评论 -
网络编程学习笔记(IPv4套接口选项)
这些选项级别为IPPROTO_IPIP_HDRINCL:如果此选项原创 2014-09-27 15:32:25 · 1202 阅读 · 0 评论