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

少儿编程哪家培训机构好杭州seo排名费用

少儿编程哪家培训机构好,杭州seo排名费用,网络集资网站怎么做,优秀网络广告文案案例先来一张经典的流程图 接下介绍一下大概流程,各个函数的参数大家自己去了解加深一下印象 服务端流程 1.创建套接字:使用 socket 函数创建一个套接字,这个套接字后续会被用于监听客户端的连接请求。 需要注意的是,服务端一般有俩…

先来一张经典的流程图

接下介绍一下大概流程,各个函数的参数大家自己去了解加深一下印象

服务端流程

 1.创建套接字:使用 socket 函数创建一个套接字,这个套接字后续会被用于监听客户端的连接请求。   需要注意的是,服务端一般有俩个描述符,一个用于连接和监听,一个用于通信,这里用socket 函数创建的套接字就是用于和客户端建立连接和监听客户端的连接请求的

例如在 C 语言中:

#include <sys/socket.h>
#include <netinet/in.h>
#include <stdio.h>
#include <unistd.h>int main() {int listenSocket = socket(AF_INET, SOCK_STREAM, 0);if (listenSocket == -1) {perror("socket creation failed");return -1;}// 后续操作return 0;
}

2.绑定地址和端口:使用 bind 函数将创建的套接字与指定的 IP 地址和端口进行绑定,向操作系统表明服务端要监听该地址和端口上的连接请求。示例如下:

struct sockaddr_in serverAddr;
serverAddr.sin_family = AF_INET;
serverAddr.sin_addr.s_addr = INADDR_ANY; // 监听所有可用网络接口
serverAddr.sin_port = htons(8888); // 绑定到 8888 端口if (bind(listenSocket, (struct sockaddr *)&serverAddr, sizeof(serverAddr)) == -1) {perror("bind failed");close(listenSocket);return -1;
}

为什么bind绑定时一定要将套接字和服务器的ip和端口绑定在一起呢?我的理解是客户端相当于一个想入住酒店的旅客,套接字就相当于房卡,有了这张房卡旅客才能知道楼层和具体房间在哪里。

3.监听连接请求:使用 listen 函数将套接字设置为监听状态,指定最大允许的连接请求队列长度。

示例如下:

if (listen(listenSocket, 5) == -1) {perror("listen failed");close(listenSocket);return -1;
}

4.接受连接并创建新套接字:使用 accept 函数接受客户端的连接请求。当有客户端发起连接时,accept 函数会阻塞直到有连接到来,然后返回一个新的套接字用于与该客户端进行数据通信,同时获取客户端的地址信息(包括 IP 地址和端口号)。示例如下:

struct sockaddr_in clientAddr;
socklen_t clientAddrLen = sizeof(clientAddr);
int clientSocket = accept(listenSocket, (struct sockaddr *)&clientAddr, &clientAddrLen);
if (clientSocket == -1) {perror("accept failed");close(listenSocket);return -1;
}

客户端流程

1.创建套接字:同样使用 socket 函数创建一个套接字,用于与服务端建立连接和进行数据通信。示例如下:

int clientSocket = socket(AF_INET, SOCK_STREAM, 0);
if (clientSocket == -1) {perror("socket creation failed");return -1;
}

2.发起连接请求:使用 connect 函数向服务端发起连接请求,在 connect 函数中指定服务端的 IP 地址和端口号。示例如下:

struct sockaddr_in serverAddr;
serverAddr.sin_family = AF_INET;
serverAddr.sin_addr.s_addr = inet_addr("127.0.0.1"); // 服务端 IP 地址
serverAddr.sin_port = htons(8888); // 服务端端口if (connect(clientSocket, (struct sockaddr *)&serverAddr, sizeof(serverAddr)) == -1) {perror("connect failed");close(clientSocket);return -1;
}

3.数据通信:连接建立后,客户端通过自己创建的套接字 clientSocket 与服务端 accept 返回的用于通信的新套接字进行数据交互,使用 send 函数发送数据,使用 recv 函数接收数据。

http://www.dtcms.com/wzjs/415219.html

相关文章:

  • 利用wordpress建站优化用户体验
  • 网站底部优化字指数网站
  • 外贸网站找人建设软件推广平台有哪些
  • 苏州园区建设网站首页优化设计单元测试卷
  • 医药外贸是做什么的seo整站优化新站快速排名
  • 专业的设计网站建设企业营销策划论文
  • zb533网站建设网站查询关键词排名软件
  • 网站建设莱州哪家强?香水推广软文
  • 我国政府门户网站的建设情况营销计划怎么写
  • 丛台专业做网站福州百度网站快速优化
  • 什么是网站抄袭足球进球排行榜
  • wordpress建站发文教程河南seo优化
  • 房地产网站建设竞价广告推广
  • 建一个小型的购物网站服务器一年要多少钱软文自助发稿平台oem
  • 15个html5手机网站模板刷关键词排名seo软件
  • 广州皮具网站建设百度帐号
  • 化妆品网站建设的维护备案查询官网
  • 香河住房和城乡建设局网站超级外链吧外链代发
  • 做网站被骗怎么办今日关键词
  • 建设自己的网站首页可以推广网站
  • 网站设计公司皆选奇点网络站长工具的使用seo综合查询排名
  • 如何做查询网站网页怎么优化
  • php动态网站开发视频教程友情链接作用
  • 成都设计网站的公司名称刷神马网站优化排名
  • 制作一个企业网站过程百度q3财报减亏170亿
  • 常州公司网站建设网络营销策略论文
  • 上海装修网站建设百度移动应用
  • 网站后台文章列表里的每篇文章的文字全部乱码怎么办?什么叫seo优化
  • 国外网站模版免费下载推广和竞价代运营
  • 做网站的怎样能翻页百度关键词价格计算