网络通信
文章平均质量分 55
Respect@
感谢
展开
-
netstat是一个常用的网络工具,用于显示和分析网络连接、路由表以及网络接口等信息。
它可以提供关于网络活动的实时统计数据,包括正在监听的端口、已建立的连接、网络接口的状态等。使用 命令可以列出当前系统中的网络连接情况。以下是一些常见的 命令选项:这些只是 命令的一部分选项,还有其他选项和用法可以根据需要进行探索和使用。请注意,在不同的操作系统上, 命令的具体用法和支持的选项可能会有所差异。活动的互联网连接(无服务器)部分列出了当前正在进行的网络连接。它包含以下列:接下来是一些警告信息,指示 、 和 文件不存在。这可能意味着系统不支持 IPv6 或者在此时没有与这些协议相关的连接。最原创 2024-02-03 14:08:27 · 582 阅读 · 9 评论 -
libcurl是一个用于进行网络通信的开源库,提供了各种功能和选项,可以用于发送和接收HTTP请求、FTP操作等
libcurl是一个用于进行网络通信的开源库,提供了各种功能和选项,可以用于发送和接收HTTP请求、FTP操作、SMTP邮件等。它支持多种协议,包括HTTP、HTTPS、FTP、FTPS、SMTP、POP3、IMAP等。以下是libcurl库的一些特点和功能:跨平台:libcurl可在多个操作系统上使用,包括Windows、Linux、macOS等。多协议支持:libcurl支持多种协议,如HTTP、FTP、SMTP等,使其具有广泛的应用范围。原创 2024-01-18 19:52:17 · 1653 阅读 · 29 评论 -
这段代码是一个TCP客户端连接服务器的函数
设置发送超时时间和接收超时时间,通过调用 setsockopt(iFd, SOL_SOCKET, SO_SNDTIMEO, (char *)(&tTimeVal), sizeof(tTimeVal)) 和 setsockopt(iFd, SOL_SOCKET, SO_RCVTIMEO, (char *)(&tTimeVal), sizeof(tTimeVal)) 来设置超时时间为 2 秒。如果连接失败,关闭套接字,并打印连接失败的原因,然后返回失败代码 FAILURE。原创 2023-09-14 20:29:02 · 138 阅读 · 5 评论 -
socket
需要注意的是,该示例代码仅用于演示基本的Socket通信流程,实际应用中可能涉及更多错误处理、多线程或异步操作等。同时,在使用Socket编程时,还需要考虑网络协议、数据格式、安全性等方面的内容。上述代码中,首先创建了一个Socket对象并设置服务器的地址和端口。之后,发送一条消息给服务器,并接收服务器返回的数据。原创 2023-08-28 20:02:00 · 231 阅读 · 0 评论 -
socket
需要注意的是,该示例代码仅用于演示基本的Socket通信流程,实际应用中可能涉及更多错误处理、多线程或异步操作等。同时,在使用Socket编程时,还需要考虑网络协议、数据格式、安全性等方面的内容。上述代码中,首先创建了一个Socket对象并设置服务器的地址和端口。之后,发送一条消息给服务器,并接收服务器返回的数据。原创 2023-08-28 20:01:21 · 270 阅读 · 0 评论 -
Nagle算法--网络优化算法
Nagle算法的原理是将较小的数据包进行缓存,在缓存数据包的发送时机到来时,将多个小数据包合并成一个大的数据包进行发送。== Nagle算法是一种网络优化算法,旨在减少小数据包的网络传输次数,提高网络传输效率。如果此前已经有一个未确认的数据包在网络上传输中,则Nagle算法会等待该数据包被确认之后才发送当前缓存的数据包。总之,Nagle算法是一种网络优化算法,通过延迟发送小数据包以减少网络传输次数,提高网络传输效率。一旦之前的数据包被确认,Nagle算法会将缓存的数据包封装成一个更大的数据包进行发送。原创 2023-08-09 00:39:19 · 666 阅读 · 0 评论 -
pthread_attr_setschedpolicy、pthread_attr_t、pthread_attr_setschedparam
调度策略决定了操作系统在多个线程之间进行调度时所采取的方法。函数用于将指定的调度策略设置为线程属性对象的值。它接受两个参数:线程属性对象和要设置的调度策略。是一个 POSIX 线程库中的函数,用于设置线程属性中的调度策略。成功设置调度策略时,该函数返回零;否则返回一个非零的错误代码。是指向线程属性对象的指针,是要设置的调度策略。原创 2023-08-01 09:46:20 · 922 阅读 · 0 评论 -
keepalive
使用 Keepalive 机制可以定期发送心跳包,以保持连接的活跃状态,避免连接因为长时间无数据传输而断开。当一方节点意识到连接已经断开或对端节点不可达时,可以发送 Keepalive 消息来通知对端节点,并触发资源的释放。当两个节点之间没有数据传输时,Keepalive 机制可以发送空闲消息或探测包来维持连接的活跃状态。总之,Keepalive 机制是一种用于维持连接活跃、检测节点状态和释放资源的网络通信机制,它可以提高连接的稳定性和可靠性。原创 2023-07-31 20:15:19 · 350 阅读 · 0 评论 -
SO_KEEPALIVE、TCP_KEEPIDLE、TCP_KEEPINTVL、保活包
是一个套接字选项,用于设置是否启用 keepalive 机制。在这段代码中没有涉及到选项的设置。当被设置为非零值时,表示启用 keepalive 机制。keepalive 是一种用于检测连接是否仍然有效的机制。通过定期发送一些特定的探测数据,可以检测到网络连接的异常中断或对端应用程序的崩溃退出。为了避免以上情况,可以启用 keepalive 机制,即使在无数据传输的情况下也定期发送探测数据。如果在一定时间内没有收到对端的响应,就认为连接已经失效,并进行相应的处理。要启用选项,需要使用函数。其中,fd。原创 2023-07-31 20:05:20 · 4016 阅读 · 0 评论 -
socket()、bind()、listen()、htons()
网络字节顺序是一种统一的字节序,它不受不同计算机体系结构的影响,用于在网络上传输数据。是一个系统调用函数,用于将一个已绑定的套接字(socket)设置为监听状态,以便可以接受来自客户端的连接请求。函数的作用是让操作系统将指定的套接字与指定的地址进行关联,使得该套接字可以监听并处理来自该地址和端口的数据。需要注意的是,在处理网络通信数据时,确保正确使用适当的字节顺序转换函数,以保证数据在不同计算机上的正确解析和传输。函数的作用是创建一个新的套接字,并返回一个套接字文件描述符,用于后续的操作。原创 2023-07-31 20:03:12 · 694 阅读 · 0 评论 -
网段怎么判断?
【代码】网段怎么判断?原创 2023-07-29 18:06:59 · 3605 阅读 · 0 评论 -
read与recv区别
【代码】read与recv区别。转载 2023-07-13 15:27:25 · 1106 阅读 · 0 评论 -
SO_LINGER选项用来设置延迟关闭的时间,等待套接字发送缓冲区中的数据发送完成
【代码】SO_LINGER选项用来设置延迟关闭的时间,等待套接字发送缓冲区中的数据发送完成。原创 2023-05-06 15:39:54 · 172 阅读 · 1 评论 -
Socket编程函数:socket,bind,listen,accept,connect,出错处理函数[奇牛学院]
Socket编程函数socketbindlistenacceptconnect出错处理函数socket#include <sys/types.h> /* See NOTES */#include <sys/socket.h>int socket(int domain, int type, int protocol);domain:AF_INET 这是大多数用来产生socket的协议,使用TCP或UDP来传输,用IPv4的地址AF_INET6 与上面类似,不过是来用IP原创 2021-07-17 20:21:11 · 1038 阅读 · 3 评论 -
网络编程:TCP/IP 四层协议,OSI七层协议模型,协议封装,TCP 协议头部,三次握手
这里写目录标题TCP/IP 四层协议OSI七层协议模型 (open system interconnection)TCP/IP四层协议模型协议封装TCP 协议头部三次握手TCP/IP 四层协议OSI七层协议模型 (open system interconnection)应用层————为应用数据提供服务表示层————数据格式转化,数据加密会话层————建立、维护和管理会话传输层————建立、维护和管理端到端的链接,控制数据传输的方式网络层————数据传输线路选择,IP地址及路由选择数据链路原创 2021-07-02 09:31:45 · 358 阅读 · 3 评论 -
Socket编程基础: sockaddr数据结构,IP地址转换函数
sockaddr数据结构sockaddr数据结构IP地址转换函数sockaddr数据结构很多网络编程函数诞生早于IPv4协议,那时候都使用的是sockaddr结构体,为了向前兼容,现在sockaddr退化成了(void *)的作用,传递一个地址给函数,至于这个函数是sockaddr_in还是其他的,由地址族确定,然后函数内部再强制类型转化为所需的地址类型。struct sockaddr {sa_family_t sa_family; /* address family, AF_xxx /原创 2021-06-15 08:20:44 · 1157 阅读 · 0 评论 -
网络通信与Socket
这里写目录标题网络通信与SocketSocket通信模型Socket 编程详解Socket 通信创建流程图网络字节序网络通信与SocketSocket通信模型Socket 编程详解套接字概念Socket中文意思是“插座”,在Linux环境下,用于表示进程x间网络通信的特殊文件类型。本质为内核借助缓冲区形成的伪文件。既然是文件,那么理所当然的,我们可以使用文件描述符引用套接字。Linux系统将其封装成文件的目的是为了统一接口,使得读写套接字和读写文件的操作一致。区别是文件主要应用于本地持久化原创 2021-06-15 08:18:07 · 284 阅读 · 0 评论