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

正定网站建设南京网站推广公司

正定网站建设,南京网站推广公司,世界羽联巡回赛总决赛,上海网站建设要多少钱基于TCP的本地通信(客户机):创建流程:一、创建字节流式套接字(socket函数): int sock_fd socket(AF_LOCAL,SOCK_STREAM,0);二、创建客户机和服务器的本地网络信息结构体并填充客户机和服务器本…
  • 基于TCP的本地通信(客户机):
  • 创建流程:
  • 一、创建字节流式套接字(socket函数):
	int sock_fd = socket(AF_LOCAL,SOCK_STREAM,0);
  • 二、创建客户机和服务器的本地网络信息结构体并填充客户机和服务器本地网络信息结构体 (struct sockaddr_un):
  • 本地网络信息结构体:
	#include <sys/un.h>struct sockaddr_un {sa_family_t sun_family;               //AF_LOCALchar        sun_path[108];            //pathname};
	//填充服务器和客户机网络信息结构体struct sockaddr_un serveraddr, clientaddr;socklen_t serveraddr_len = sizeof(serveraddr);socklen_t clientaddr_len = sizeof(clientaddr);memset(&serveraddr, 0, serveraddr_len);memset(&clientaddr, 0, clientaddr_len);serveraddr.sun_family = AF_LOCAL;clientaddr.sun_family = AF_LOCAL;strcpy(serveraddr.sun_path, "./tcpserver");  //tcpserver是一个套接字类型的文件strcpy(clientaddr.sun_path, "./tcpclient"); //tcpclient是一个套接字类型的文件
  • 三、客户机绑定字节流式套接字(bind函数):
	bind(sock_fd, (struct sockaddr *)&clientaddr, clientaddr_len);
  • 四、与服务器建立连接(connect函数):
	connect(sock_fd, (struct sockaddr *)&serveraddr, serveraddr_len);
  • 五、客户机端发收数据(send函数、recv函数):
		memset(buf, 0, sizeof(buf));fgets(buf,sizeof(buf),stdin);buf[strlen(buf) - 1] = '\0';//给服务器发送消息int ret1 = send(sock_fd,buf,sizeof(buf),0);if(-1 == ret1){perror("send error");exit(-1);}memset(buf,0,sizeof(buf));//接收服务器的应答消息int ret2 = recv(sock_fd,buf,sizeof(buf),0);if(-1 == ret2){perror("recv error");exit(-1);}printf("服务器的应答消息[%s]\n",buf);
  • 六、关闭套接字(close函数):
	close(sock_fd);
  • 示例代码:
	#include <stdio.h>#include <string.h>#include <stdlib.h>#include <unistd.h>#include <sys/socket.h>#include <sys/types.h>#include <netinet/ip.h>#include <sys/un.h>#include <arpa/inet.h>#include <stdbool.h>int main(int argc, char const *argv[]){// 创建套接字int sock_fd = socket(AF_LOCAL, SOCK_STREAM, 0);if (-1 == sock_fd){perror("socket error");exit(-1);}// 填充客户机和服务器网络信息结构体struct sockaddr_un serveraddr, clientaddr;socklen_t serveraddr_len = sizeof(serveraddr);socklen_t clientaddr_len = sizeof(clientaddr);memset(&serveraddr, 0, serveraddr_len);memset(&clientaddr, 0, clientaddr_len);serveraddr.sun_family = AF_LOCAL;clientaddr.sun_family = AF_LOCAL;strcpy(serveraddr.sun_path, "./tcpserver");  //tcpserver是一个套接字类型的文件strcpy(clientaddr.sun_path, "./tcpclient"); //tcpclient是一个套接字类型的文件// 客户机绑定套接字if (-1 == bind(sock_fd, (struct sockaddr *)&clientaddr, clientaddr_len)){perror("bind error");exit(-1);}// 与服务器建立连接if (-1 == connect(sock_fd, (struct sockaddr *)&serveraddr, serveraddr_len)){perror("connect error");exit(-1);}char buf[128] = {0};int ret1 = 0;int ret2 = 0;// 提示信息printf("本地通信之TCP客户机成功连接服务器!!!\n");// 收发数据while (true){memset(buf, 0, sizeof(buf));fgets(buf,sizeof(buf),stdin);buf[strlen(buf) - 1] = '\0';//给服务器发送消息int ret1 = send(sock_fd,buf,sizeof(buf),0);if(-1 == ret1){perror("send error");exit(-1);}memset(buf,0,sizeof(buf));//接收服务器的应答消息int ret2 = recv(sock_fd,buf,sizeof(buf),0);if(-1 == ret2){perror("recv error");exit(-1);}printf("服务器的应答消息[%s]\n",buf);}// 关闭套接字close(sock_fd);return 0;}
  • 运行结果:
	本地通信之TCP客户机成功连接服务器!!!hello服务器的应答消息[hello-------k]hi服务器的应答消息[hi-------k]I Love China!!!服务器的应答消息[I Love China!!!-------k]
  • 特别注意:
  • strcpy(serveraddr.sun_path,"./tcpserver");strcpy(clientaddr.sun_path, "./tcpclient");代码段中的tcpserver文件tcpclient文件套接字文件
  • 如下所示:
	srwxrwxr-x 1 linux linux     0 1110 05:58 tcpserversrwxrwxr-x 1 linux linux     0 1110 06:00 tcpclient
http://www.ds6.com.cn/news/97705.html

相关文章:

  • 苹果应用商店app下载西安企业seo外包服务公司
  • 怎么看是哪家做的网站网络营销服务公司有哪些
  • 电商网站模板seo没什么作用了
  • 那个公司做的外贸网站好推广互联网推广
  • 精通网站建设100全能建站密码百度快速收录seo工具软件
  • 国外主机 经营性网站seo排名优化软件
  • 中国网站建设公司百度搜索指数是怎么计算的
  • 网上注册公司的网址seo按照搜索引擎的
  • 网站公安备案一定要备案吗成都业务网络推广平台
  • dedecms新闻网站模板seo是指
  • 怎样注册网站帐号申请百度关键词怎么做
  • 网站开发checklist靠谱seo整站优化外包
  • python怎么做网站百度官网认证免费
  • 重庆做网站建设的公司网站推广公司哪家好
  • 上海购物网站建设衡水网站seo
  • 怎样做网站能百度能搜到长沙网络公司最新消息
  • 成品网站好还是自助建站好网络优化培训要多少钱
  • 单页网站买转发链接
  • 怎么做轴承网站全网品牌推广
  • 微信公众号怎么制作网页seo关键词优化
  • 贵州建设厅网站在建工程查询关键词排名查询api
  • dede 后门暴网站网络推广公司联系方式
  • 惠州城乡规划建设局网站廊坊关键词排名首页
  • 如何攻击网站如何推广网上国网
  • 网站优化外包价格免费推广引流怎么做
  • 一个网站怎么做流量统计媒体资源网官网
  • 隐藏网站源代码百度云盘官网
  • 桔子建站是什么平台做网络推广要学些什么
  • b站推广网站2024国青岛seo网站管理
  • 建设厅网站上保存键看不见软件开发公司排行榜