当前位置: 首页 > news >正文

网站服务器ipv6wordpress图片时间

网站服务器ipv6,wordpress图片时间,旺道seo怎么优化网站,seo与网站优化目录 TCP编程流程 套接字函数 1.创建套接字 2.绑定地址 3.监听连接请求 4.接受连接 5. 连接到服务器 6. 发送数据 7. 接收数据 8.关闭套接字 服务器端通信流程 示例代码 客户端通信流程 代码示例 TCP编程流程 TCP是一个面向连接的#xff0c;安全的#xff0c;流…目录 TCP编程流程 套接字函数 1.创建套接字 2.绑定地址 3.监听连接请求 4.接受连接 5. 连接到服务器 6. 发送数据 7. 接收数据 8.关闭套接字 服务器端通信流程  示例代码 客户端通信流程 代码示例 TCP编程流程 TCP是一个面向连接的安全的流式传输协议这个协议是一个传输层协议。 面向连接是一个双向连接通过三次握手完成断开连接需要通过四次挥手完成。安全tcp通信过程中会对发送的每一数据包都会进行校验, 如果发现数据丢失, 会自动重传流式传输发送端和接收端处理数据的速度数据的量都可以不一致。 TCP 的服务器端和客户端编程流程如下  套接字函数 套接字编程中常用的套接字函数通常涵盖套接字的创建、绑定、监听、连接、发送、接收、关闭等操作。以下是一些常用的套接字函数这些函数通常在C语言的sys/socket.h头文件中声明 1.创建套接字 int socket(int domain, int type, int protocol); 参数 domain使用的地址协议族如 AF_INET、AF_INET6分别表示IPv4、IPv6格式。type套接字类型如 SOCK_STREAM(流式传输协议)表示TCP套接字SOCK_DGRAM(报式传输协议)表示UDP套接字。protocol通常为0表示自动选择协议。 返回值 成功返回新创建套接字的文件描述符。失败返回-1并设置 errno。 2.绑定地址 // 将文件描述符和本地的IP与端口进行绑定 int bind(int sockfd, const struct sockaddr *addr, socklen_t addrlen); 参数 sockfd套接字的文件描述符通过socket调用得到的返回值。addr包含要绑定的IP地址和端口号的结构体。addrlenaddr 结构体的大小sizeof(addr)。 返回值 成功0失败返回-1。 3.监听连接请求 // 给监听的套接字设置监听 int listen(int sockfd, int backlog); 参数 sockfd套接字的文件描述符通过socket调用得到的返回值。backlog在进入队列中等待接受的最大连接数最大值为128。 返回值 成功0失败返回-1。 4.接受连接 // 等待并接受客户端的连接请求, 建立新的连接, 会得到一个新的文件描述符(通信的) int accept(int sockfd, struct sockaddr *addr, socklen_t *addrlen);参数 sockfd套接字的文件描述符。addr用于存储客户端地址信息的结构体。addrlenaddr 结构体的大小。 返回值 函数调用成功得到一个文件描述符, 用于和建立连接的这个客户端通信调用失败返回 -1。 这个函数是一个阻塞函数当没有新的客户端连接请求的时候该函数阻塞当检测到有新的客户端连接请求时阻塞解除新连接就建立了得到的返回值也是一个文件描述符基于这个文件描述符就可以和客户端通信了。 5. 连接到服务器 // 成功连接服务器之后, 客户端会自动随机绑定一个端口 // 服务器端调用accept()的函数, 第二个参数存储的就是客户端的IP和端口信息 int connect(int sockfd, const struct sockaddr *addr, socklen_t addrlen);参数 sockfd套接字的文件描述符通过socket调用得到的返回值。addr用于存储客户端地址信息的结构体这个IP和端口也需要转换为大端然后再赋值。addrlenaddr 结构体的大小。 返回值 连接成功返回0连接失败返回-1 6. 发送数据 ssize_t send(int sockfd, const void *buf, size_t len, int flags); 参数 sockfd套接字的文件描述符。buf包含要发送数据的缓冲区。len要发送的数据的长度。flags发送标志通常为0。 返回值 成功返回发送的字节数。失败返回-1。 7. 接收数据 ssize_t recv(int sockfd, void *buf, size_t len, int flags); 参数 sockfd套接字的文件描述符。buf用于接收数据的缓冲区。len要接收的数据的长度。flags接收标志通常为0。 返回值 成功返回接收的字节数。失败返回-1。 8.关闭套接字 int close(int sockfd); 参数 sockfd套接字的文件描述符。 返回值 成功0失败返回-1。 服务器端通信流程  1.创建套接字 使用 socket 函数创建一个套接字指定协议族通常是 AF_INET 表示IPv4、套接字类型SOCK_STREAM 表示TCP流套接字、协议通常为0表示自动选择协议。 int server_socket socket(AF_INET, SOCK_STREAM, 0);2.绑定地址 使用 bind 函数将套接字与特定的IP地址和端口号绑定。 struct sockaddr_in server_address; server_address.sin_family AF_INET; server_address.sin_port htons(8888); server_address.sin_addr.s_addr INADDR_ANY;bind(server_socket, (struct sockaddr *)server_address, sizeof(server_address));3.监听连接请求 使用 listen 函数开始监听连接请求。 listen(server_socket, 5); // 允许最多5个连接请求排队4.接受连接 使用 accept 函数接受客户端的连接请求该函数会阻塞程序直到有客户端连接进来。 int client_socket accept(server_socket, NULL, NULL);5.进行数据交互 使用 send 和 recv 函数进行数据的发送和接收。 char buffer[1024]; recv(client_socket, buffer, sizeof(buffer), 0); send(client_socket, Hello from server, strlen(Hello from server), 0);6.关闭套接字 使用 close 函数关闭服务端的套接字。 close(server_socket);示例代码 #include stdio.h #include stdlib.h #include unistd.h #include string.h #include arpa/inet.hint main() {// 1.创建监听的套接字int fd socket(AF_INET, SOCK_STREAM, 0);if (fd -1){perror(socket);return -1;}// 2.绑定本地的IP portstruct sockaddr_in saddr;saddr.sin_family AF_INET;saddr.sin_port htons(9999);saddr.sin_addr.s_addr INADDR_ANY; // INADD_ANY自动读取本地的ip地址int ret bind(fd, (struct sockaddr *)saddr, sizeof(saddr));if (ret -1){perror(bind);return -1;}// 3.设置监听ret listen(fd, 128);if (ret -1){perror(listen);return -1;}// 4.阻塞并等待客户端的连接struct sockaddr_in caddr;int addrlen sizeof(caddr);int cfd accept(fd, (struct sockaddr *)caddr, addrlen);if (cfd -1){perror(accept);return -1;}// 连接建立成功打印客户端的ip和端口信息char ip[32];printf(客户端的ip:%s,端口:%d\n, inet_ntop(AF_INET, caddr.sin_addr.s_addr, ip, sizeof(ip)), ntohs(caddr.sin_port));// 5.通信while (1){ // 接受数据char buff[1024];int len recv(cfd, buff, sizeof(buff), 0);if (len 0){printf(client say:%s\n, buff);send(cfd, buff, len, 0);}else if (len 0){printf(客户端已经断开了连接...\n);break;}else{perror(recv);break;}}close(fd);return 0; } 客户端通信流程 1.创建套接字 使用 socket 函数创建一个套接字。 int client_socket socket(AF_INET, SOCK_STREAM, 0);2.设置服务器地址 设置服务器的地址信息包括协议族、IP地址和端口号。 struct sockaddr_in server_address; server_address.sin_family AF_INET; server_address.sin_port htons(8888); server_address.sin_addr.s_addr inet_addr(127.0.0.1);3.连接服务器 使用 connect 函数连接到服务器。 connect(client_socket, (struct sockaddr *)server_address, sizeof(server_address));4.进行数据交互 使用 send 和 recv 函数进行数据的发送和接收。 char buffer[1024]; send(client_socket, Hello from client, strlen(Hello from client), 0); recv(client_socket, buffer, sizeof(buffer), 0);5.关闭套接字 使用 close 函数关闭客户端的套接字。 close(client_socket);代码示例 #include stdio.h #include stdlib.h #include unistd.h #include string.h #include arpa/inet.hint main() {// 1.创建通信的套接字int fd socket(AF_INET, SOCK_STREAM, 0);if (fd -1){perror(socket);return -1;}// 2.连接服务器的IP portstruct sockaddr_in saddr;saddr.sin_family AF_INET;saddr.sin_port htons(9999);inet_pton(AF_INET, 192.168.3.128, saddr.sin_addr.s_addr);int ret connect(fd, (struct sockaddr *)saddr, sizeof(saddr));if (ret -1){perror(connect);return -1;}int number 0;// 3.通信while (1){ // 发送数据char buff[1024];sprintf(buff, 你好,hello,world,%d...\n, number);send(fd, buff, sizeof(buff), 0);// 接收数据memset(buff, 0, sizeof(buff));int len recv(fd, buff, sizeof(buff), 0);if (len 0){printf(server say:%s\n, buff);}else if (len 0){printf(服务器端已经断开了连接...\n);break;}else{perror(recv);break;}sleep(1);}// 关闭文件描述符close(fd);return 0; }
http://www.dnsts.com.cn/news/145424.html

相关文章:

  • 长沙建站费用免费申请无限流量卡
  • 网站建设教程答允苏州久远网络外资公司注册
  • 晋江做网站模板做网站翻页怎么做
  • 做舞台灯光的在哪些网站接订单呢叫别人做网站权重被转移了
  • 宁夏成城建设集团网站好网站的特点
  • 荆州哪里有做网站的兰州网站开发企业
  • 百度网站快速收录设计公司推荐
  • 网站开发岗位需求分析自适应网站建站价格
  • 苏州新海通网站建设站长工具ip地址查询
  • 做网站放哪个科目网站页面图片尺寸
  • 网站维护和建设工作范围网站设计上海
  • o2o网站建站加个自己的网站
  • 上海SEO网站优化推广公司网站关键词快速排名技术
  • 制作只有一张图片的网站货运公司网站源码
  • 最具口碑的企业网站建设做网站上是外部连接怎么改
  • 一键制作网站软件自己店怎么弄到小程序上
  • 建设书法网站的主题是新版wordpress编辑器不好用
  • 淘宝客怎么样做网站网络公司经营范围互联网金融
  • wordpress添加网址为导航深圳网站优化培训
  • 西安网站seo 优帮云百度搜索一下
  • wordpress建站主题ih5网页制作教程
  • 梁园区官方网站苏州市建设厅网站
  • ui设计作品欣赏网站wordpress中文语言包下载地址
  • 高端网站建设公司自学网站开发
  • 上海专门做培训的网站网页布局是指什么
  • 唐山培训网站建设建筑专业人才招聘网
  • 免费黄页网站意大利室内设计网站
  • 网站建设专题网站自动优化
  • 网站开发新加坡网站模板佳好乐云seo
  • 上海网站建设电东营招聘网最新招聘