东坑东莞网站建设,谁有好的网站推荐一个,邢台123贴吧最新,做网站网站是什么案件一、通信 --- 不同主机上进程间的通信 1、IP和端口号 IP#xff1a;标识网络中的一台主机 本质上 32位的整型数据 端口号: 标识某个进程 本质上 16位的整型数据 2、udp和tcp udp的特点: 1.无连接 2.不可靠 tcp的特点#xff1a; 1.面…一、通信 --- 不同主机上进程间的通信 1、IP和端口号 IP标识网络中的一台主机 本质上 32位的整型数据 端口号: 标识某个进程 本质上 16位的整型数据 2、udp和tcp udp的特点: 1.无连接 2.不可靠 tcp的特点 1.面向链接 2.可靠传输 二、udp编程c/s模型 客户端 socket sendto ... 服务器端 ---把自己的地址公布出去 socket bind //绑定 recvfrom ...
1、recvfrom 函数
ssize_t recvfrom(int sockfd, //socket的fd void *buf, //保存数据的一块空间的地址 size_t len, //这块空间的大小 int flags, // 0 默认的接收方式 --- 阻塞方式 struct sockaddr *src_addr, //用来保存发送方的地址信息 socklen_t *addrlen //表示发送方实际的地址信息大小 ); 返回值: 成功 返回接收到的字节数 失败 -1
2、bind 函数
int bind(int sockfd, struct sockaddr *my_addr, socklen_t addrlen); 功能如果该函数在服务器端调用则表示将参数1相关 的文件描述符文件与参数2 指定的接口地址关联 用于从该接口接受数据。 如果该函数在客户端调用则表示要将数据从 参数1所在的描述符中取出并从参数2所在的接口 设备上发送出去。 注意 如果是客户端则该函数可以省略由默认接口发送数据。 参数 sockfd 之前通过socket函数创建的文件描述符套接字id my_addr 是物理接口的结构体指针。表示该接口的信息。
struct sockaddr 通用地址结构 --- ip 端口 { u_short sa_family; 地址族 char sa_data[14]; 地址信息 };
3、转换网络地址 转换成网络地址结构如下 struct sockaddr_in //网络地址结构 { u_short sin_family; //地址族 u_short sin_port; //地址端口 struct in_addr sin_addr; //地址IP //192.168.1.123 char sin_zero[8]; //占位 }; in_addr_t unsigned int struct in_addr { in_addr_t s_addr; }
三、tcp编程c/s模式
1、tcp 客户端
1.建立连接 socket //买了一部手机 bind //可选 //插上sim卡 connect //拨打电话 .... 2.通信过程 read write close
2、tcp服务器
1.建立连接 socket //买了一部手机 bind //插上sim卡 listen //监听 客户端的连接请求 accept //接听 ---这一步完成之后 连接就建立好了之后就可以收发数据 ..... 2.通信过程 read write close
3、tcp的建立过程
tcp三次握手 4、connect 函数
int connect(int sockfd, const struct sockaddr *addr,socklen_t addrlen); 功能该函数固定有客户端使用表示从当前主机向目标 主机发起链接请求。 参数sockfd 本地socket创建的套接子id addr 远程目标主机的地址信息。 addrlen 参数2的长度。 返回值成功 0 失败 -1 struct sockaddr *addr //通用地址结构类型并没有实际去用实际用到都是具体地址结构类型