![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux网络编程
handsome boy!
这个作者很懒,什么都没留下…
展开
-
Linux基于UDP的网络通信实例
这个实例的功能:客户端从终端获取一个字符串,将其发送给服务端。服务端接收到字符串之后将字符串转换为大写字母然后发送给客户端,并显示到终端;#include<stdio.h>#include<string.h>#include<netinet/in.h>#include<unistd.h>#include<arpa/inet.h>...原创 2020-02-05 08:25:21 · 257 阅读 · 0 评论 -
Linux基于TCP的网络通信示例
此示例的功能:客户端从终端获取一个字符串,发送给服务器,服务器将其转换为大写字母返回给客户端#include<string.h>#include<stdio.h>#include<ctype.h>#include<stdlib.h>#include<unistd.h>#include<sys/socket.h>#...原创 2020-02-04 19:14:24 · 239 阅读 · 0 评论 -
Linux网络编程(socket编程)各类函数、编程步骤、原理详解
1、socket()函数int socket(int domain,int type,int protocol);socket()中domain用于指定通信域参数,选择通信时的地址族,有两个选项AF_INET和AF_UNIX,这些地址族都在sys/socket.h中定义;其中AF_INET用于网络通信,使用IPv4格式的地址;AF_UNIX用于本地进程通信;type参数用于指定socket...原创 2020-02-04 11:27:41 · 336 阅读 · 0 评论 -
sockaddr数据结构
IPv4和IPv6的地址格式定义在netinet/in.h中:IPv4地址用结构体sockaddr_in表示,该结构体中包含16位端口号和32位的IP地址;IPv6地址用结构体sockaddr_in6表示,该结构体中包含16位端口号和128位的IP地址和一些控制字段。UNIX Domain Socket的地址格式定义在sys/un.h中,用结构体sock_addr_un表示。各种socket地址...原创 2020-02-04 11:12:49 · 264 阅读 · 0 评论 -
IP地址转换函数
常见的IP地址格式类似192.168.10.1,这是一个IPv4格式的地址,但是这种格式只是为了方便用户对其操作。若要计算机能够识别,需要先将其由文本格式转换为二进制格式。早期linux系统中常用以下函数转换IP地址int inet_aton(const char * cp,struct in_addr * inp);in_addr_t inet_addr(const char * cp);...原创 2020-02-04 10:17:43 · 312 阅读 · 0 评论 -
网络字节顺序
高字节和低字节一. 计算机的数值应视为连续若干个二进制位的集合;二. 所谓高、低字节就是此集合中位地址高/低的二进制位集合;三. 例如定义一个unsigned short型变量在0x1234 5678,那么这个变量的地址就是0x1234 5678,占用0x1234 5678与0x1234 5679两字节存储空间,其中0x1234 5678是低字节、0x1234 5679是高字节。四、 一个...原创 2020-02-03 23:01:02 · 1032 阅读 · 0 评论 -
socket通信流程
根据进程在网络通信中使用的协议,可以将socket通信方式分为两种:面向连接、基于TCP协议的通信;另一种是面向无连接,基于UDP协议的通信。当使用面向连接的方式进行通信时,服务器和客户机先各自创建socket文件,服务器调用bind()函数绑定服务器端口和地址。之后服务器通过接口listen()设置可连接的数量。若客户端需要与服务器进行交互,客户端会调用connect()函数向已知服务器地址端...原创 2020-02-03 22:14:14 · 657 阅读 · 0 评论 -
linux socket编程 close函数详解
int close(int fd);close()函数存在于函数库unistd.h函数库中;close()函数用于释放系统分配给套接字的资源,该函数即文件操作中常用的close函数。参数fd为需要关闭的套接字文件描述符;调用成功返回0,否则返回-1并设置errno;...原创 2020-02-03 21:49:38 · 4057 阅读 · 0 评论 -
linux socket编程recv、recvfrom、recvmsg函数详解
size_t recv(int sockfd,void * buf,size_t len,int flags);recv()函数的参数列表与send()函数的参数列表形式相同,代表的含义也基本对应,只是参数sockfd表示用于接收数据的socket文件描述符;此外函数read()、recvfrom()、recvmsg()函数也可用于接收信息,recvfrom、recvmsg函数与sendto...原创 2020-02-03 21:45:26 · 3075 阅读 · 1 评论 -
Linux socket网络编程 sendto、sendmsg函数详解
size_t sendto(int sockfd,const void * buf,size_t len,int flags,const struct sockaddr * dest_addr,socklen_t addrlen);size_t sendmsg(int sockfd,const struct msghdr * msg,int flags);sendto()函数中的前四个参数...原创 2020-02-03 21:36:18 · 2592 阅读 · 0 评论 -
linux socket编程 send()函数详解
ssize_t send(int sockfd,const void * buf,size-t len,int flags);send()函数用于向处于连接状态的套接字中发送数据,该函数粗在于函数库sys/socket.h中;sockfd表示要发送数据的socket文件描述符;buf为指向要发送数据的缓冲区指针;len表示缓冲区buf中要发送的数据的长度;flags参数为调用的执行方式...原创 2020-02-03 20:03:18 · 2852 阅读 · 0 评论 -
linux socket编程 connect函数详解
int connect(int sockfd, const struct sockaddr * addr,socklen_t addrlen);connect()函数用于客户端,该函数的功能为向服务器发起连接请求。connect()函数存在与sys/socket.h头文件中。connect函数的参数与bind()函数中的参数形式一致;...原创 2020-02-03 19:51:22 · 840 阅读 · 2 评论 -
linux socket编程 accept函数详解
int accept(int sockfd,struct sockaddr * addr,socklen_t * addrlen);sockfd的参数为listen()函数返回的监听套接字;addr是一个传出参数,表示客户端的地址,该参数设置为NULL时,表示不关心客户端的地址。addrlen为一个传入传出参数,传入时为函数调用时提供参数addr的长度,传出时为客户端地址结构体的实际长度;...原创 2020-02-03 19:37:09 · 2491 阅读 · 0 评论 -
linux listen函数详解
int listen(int sockfd,int backlog);listen()函数用于服务器,使已绑定的socket等待监听客户端的连接请求,并设置服务器同时可连接的数量,listen函数位于sys/socket.h头文件中;sockfd为socket文件描述符;backlog用于设置请求队列最大长度;listen函数调用成功返回0,否则返回-1;...原创 2020-02-03 18:58:27 · 1517 阅读 · 0 评论 -
sockaddr和sockaddr_in详解
https://blog.csdn.net/will130/article/details/53326740/转载 2020-02-03 18:48:05 · 134 阅读 · 0 评论 -
Linux bind函数详解
int bind(int sockfd,const struct sockaddr * addr,socklen_t addrlen);bind()函数用于服务器端,服务器的网络地址和端口号通常固定不变,客户端得知服务器的地址和端口号以后,可以主动向服务器请求连接。因此服务器需要调用bind()绑定地址。bingd()函数定义在sys/socket.h头文件中;sockfd表示socket文...原创 2020-02-03 18:30:44 · 6368 阅读 · 0 评论 -
linux socket函数详解
int socket(int domain,int type,int protocol);socket()中domain用于指定通信域参数,选择通信时的地址族,有两个选项AF_INET和AF_UNIX,这些地址族都在sys/socket.h中定义;其中AF_INET用于网络通信,使用IPv4格式的地址;AF_UNIX用于本地进程通信;type参数用于指定socket的类型,有三个选项SOCK...原创 2020-02-03 17:41:25 · 1068 阅读 · 0 评论