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

大庆建设网站表格下载做国外网站有哪些

大庆建设网站表格下载,做国外网站有哪些,百度输入法,进入公众号即弹出图文非命名的UNIX域套接字 第1个参数domain#xff0c;表示协议族#xff0c;只能为AF_LOCAL或者AF_UNIX#xff1b; 第2个参数type#xff0c;表示类型#xff0c;只能为0。 第3个参数protocol#xff0c;表示协议#xff0c;可以是SOCK_STREAM或者SOCK_DGRAM。用SOCK_STR…非命名的UNIX域套接字 第1个参数domain表示协议族只能为AF_LOCAL或者AF_UNIX 第2个参数type表示类型只能为0。 第3个参数protocol表示协议可以是SOCK_STREAM或者SOCK_DGRAM。用SOCK_STREAM建立的套接字对是管道流与一般的管道相区别的是套接字对建立的通道是双向的即每一端都可以进行读写。不管是数据流还是数据报协议unix域套接字都是可靠的不丢包的。 第4个参数用于保存建立的套接字对。 示例 #include stdio.h #include stdlib.h #include sys/socket.h #include string.h #include sys/types.h #include unistd.hint main(void) { int i_fd_arr[2]; int i_pid; char psz_wbuf[16] 0123456789;char psz_rbuf[16] {0};if ( socketpair( AF_UNIX, SOCK_STREAM, 0, i_fd_arr ) 0 ) { perror( socketpair );return -1;}if ( ( i_pid fork() ) 0 ) { perror( fork );return -1;} else if ( 0 i_pid ) { //child close( i_fd_arr[0] ); if ( write( i_fd_arr[1], psz_wbuf, strlen( psz_wbuf ) ) 0 ) {perror( write );exit( -1 );}memset( psz_rbuf, 0, sizeof( psz_rbuf ) );if ( read( i_fd_arr[1], psz_rbuf, 16 ) 0 ) {perror( read );exit( -1 );}printf( child read: %s\n, psz_rbuf );}else{ //parent close( i_fd_arr[1] ); if ( read( i_fd_arr[0], psz_rbuf, 16 ) 0 ) {perror( read );exit( -1 );}printf( parent read: %s\n, psz_rbuf );memset( psz_wbuf, 0, sizeof( psz_wbuf ) );strncpy( psz_wbuf, 9876543210, sizeof( psz_wbuf ) - 1 );if ( write( i_fd_arr[0], psz_wbuf, strlen( psz_wbuf ) ) 0 ) {perror( write );exit( -1 );}}return 0; } 命名UNIX域套接字 TCP示例 server.c #include stdio.h #include sys/socket.h #include sys/un.h #include string.h #include unistd.hint main(void) { int i_listenfd 0, i_clientfd 0; struct sockaddr_un addr_server, addr_client; char psz_path[32] ./server_unixsocket_file;int i_caddr_len sizeof(struct sockaddr_un); int i_saddr_len sizeof(struct sockaddr_un); char psz_rbuf[32] {0}; char psz_wbuf[32] i am server.;int i_readlen 0;//create a UNIX domain stream socket if ( ( i_listenfd socket( AF_UNIX, SOCK_STREAM, 0 ) ) 0 ) { perror( socket );return -1;}//in case it already exists unlink( psz_path ); //fill in socket address structure memset( addr_server, 0, sizeof( addr_server ) ); addr_server.sun_family AF_UNIX;strncpy( addr_server.sun_path, psz_path, sizeof( addr_server.sun_path ) - 1 ); //bind the name to the descriptorif ( bind( i_listenfd, ( struct sockaddr * )addr_server, i_saddr_len ) 0 ) {perror( bind ); return -1; } if ( listen( i_listenfd, 10 ) 0 ){ perror( listen );return -1;} while(1){if ( ( i_clientfd accept( i_listenfd, ( struct sockaddr * )addr_client,( socklen_t * )i_caddr_len ) ) 0 ) { perror(accept);return -1;} printf( client is: %s\n, addr_client.sun_path ); if ( ( i_readlen read( i_clientfd, psz_rbuf, sizeof( psz_rbuf ) - 1 ) ) 0 ){perror( read );return -1;}psz_rbuf[i_readlen] \0;printf( receive msg:%s\n, psz_rbuf ); if ( write( i_clientfd, psz_wbuf, strlen( psz_wbuf ) 1 ) 0 ) { perror(write); return -1; }}unlink( psz_path ); return 0; } client.c #include stdio.h #include sys/un.h #include sys/socket.h #include string.h #include unistd.hint main(void) { int i_fd 0; struct sockaddr_un addr; char psz_path[32] ./client_unixsocket_file; char serverpath[32] ./server_unixsocket_file; int i_addr_len sizeof( struct sockaddr_un ); char psz_wbuf[32] i am client.;char psz_rbuf[32] {0}; int i_readlen 0;if ( ( i_fd socket( AF_UNIX, SOCK_STREAM, 0 ) ) 0 ) { perror(socket);return -1;}memset( addr, 0, sizeof( addr ) ); addr.sun_family AF_UNIX;strncpy( addr.sun_path, psz_path, sizeof( addr.sun_path ) - 1 ); unlink( psz_path );if ( bind( i_fd, ( struct sockaddr * )addr, i_addr_len ) 0 ) { perror(bind);return -1;}//fill socket adress structure with servers address memset( addr, 0, sizeof( addr ) ); addr.sun_family AF_UNIX;strncpy( addr.sun_path, serverpath, sizeof( addr.sun_path ) - 1 ); if ( connect( i_fd, ( struct sockaddr * )addr, i_addr_len ) 0 ) {perror(connect);return -1;}if ( write( i_fd, psz_wbuf, strlen( psz_wbuf ) 1 ) 0 ) {perror( write ); return -1;} if ( ( i_readlen read( i_fd, psz_rbuf, sizeof( psz_rbuf ) - 1 ) ) 0 ) { perror(write); return -1; }psz_rbuf[i_readlen] \0;printf( receive msg:%s\n, psz_rbuf ); unlink( psz_path );return -1; } UDP示例 server #include stdio.h #include sys/socket.h #include sys/un.h #include string.h #include unistd.h int main(void) { int i_listenfd 0/*, i_clientfd 0*/; struct sockaddr_un addr_server, addr_client; char psz_path[32] ./server_unixsocket_file; int i_caddr_len sizeof(struct sockaddr_un); int i_saddr_len 0; char psz_rbuf[32] {0}; char psz_wbuf[32] i am server.; int i_readlen 0; //create a UNIX domain stream socket if ( ( i_listenfd socket( AF_UNIX, SOCK_DGRAM, 0 ) ) 0 ) { perror( socket ); return -1; } //in case it already exists unlink( psz_path ); //fill in socket address structure memset( addr_server, 0, sizeof( addr_server ) ); addr_server.sun_family AF_UNIX; strncpy( addr_server.sun_path, psz_path, sizeof( addr_server.sun_path ) - 1 ); //bind the name to the descriptor i_saddr_len strlen( addr_server.sun_path ) sizeof( addr_server.sun_family ); if ( bind( i_listenfd, ( struct sockaddr * )addr_server, i_saddr_len ) 0 ) { perror( bind ); return -1; } while(1) { i_readlen recvfrom( i_listenfd, psz_rbuf, sizeof( psz_rbuf ) - 1, 0, ( struct sockaddr * )addr_client, ( socklen_t *)i_caddr_len ); if ( i_readlen 0 ) { perror( read ); return -1; } printf( client is: %s\n, addr_client.sun_path );psz_rbuf[i_readlen] \0; printf( receive msg:%s\n, psz_rbuf ); if ( sendto( i_listenfd, psz_wbuf, strlen( psz_wbuf ) 1, 0, ( struct sockaddr * )addr_client, i_caddr_len ) 0 ) { perror( write ); return -1; } } unlink( psz_path ); return 0; } Client #include stdio.h #include sys/un.h #include sys/socket.h #include string.h #include unistd.hint main(void) { int i_fd 0; struct sockaddr_un addr; char psz_clientpath[32] ./client_unixsocket_file; char psz_serverpath[32] ./server_unixsocket_file; int i_addr_len 0; char psz_wbuf[32] i am client.;char psz_rbuf[32] {0}; int i_readlen 0;if ( ( i_fd socket( AF_UNIX, SOCK_DGRAM, 0 ) ) 0 ) { perror(socket);return -1;}memset( addr, 0, sizeof( addr ) ); addr.sun_family AF_UNIX;strncpy( addr.sun_path, psz_clientpath, sizeof( addr.sun_path ) - 1 ); unlink( psz_clientpath );i_addr_len strlen( addr.sun_path ) sizeof( addr.sun_family );if ( bind( i_fd, ( struct sockaddr * )addr, i_addr_len ) 0 ) { perror(bind);return -1;}//fill socket adress structure with servers address memset( addr, 0, sizeof( addr ) ); addr.sun_family AF_UNIX;strncpy( addr.sun_path, psz_serverpath, sizeof( addr.sun_path ) - 1 ); i_addr_len strlen( addr.sun_path ) sizeof( addr.sun_family ); if ( sendto( i_fd, psz_wbuf, strlen( psz_wbuf ) 1, 0,( struct sockaddr * )addr, i_addr_len ) 0 ) {perror( write ); return -1;} if ( ( i_readlen recvfrom( i_fd, psz_rbuf, sizeof( psz_rbuf ) - 1, 0,( struct sockaddr * )addr, ( socklen_t * )i_addr_len ) ) 0 ) {perror(write); return -1; }psz_rbuf[i_readlen] \0;printf( receive msg:%s\n, psz_rbuf ); unlink( psz_clientpath );return -1; } 示例代码抄录自https://blog.csdn.net/bytxl/article/details/47861469 用于加深理解
http://www.dnsts.com.cn/news/135194.html

相关文章:

  • 信誉好的品牌网站建设wordpress 慢的上天
  • 悬浮网站底部代码用u盘做网站
  • 劳务网站怎样做php技术应用于中小企业网站开发
  • 如何建设网站效果好wordpress 替换字体颜色
  • 柳州最好的网站推广公司易县做网站的在哪
  • 中国建设网站中天建设平分数网站建设方案包括
  • 手机产品 网站建设运营一般一个月多少钱
  • 昆明网站建设代理公司网站怎么发布文章
  • 常用的网络推广平台有哪些呢求好用的seo软件
  • 设计师可以做兼职的网站有哪些企业管理培训课程有哪些
  • 怎么找人做网站啊做图片网站赚钱吗
  • 杭州网站建设服务公司crm软件是什么意思
  • 哪里需要人做钓鱼网站响应式网站建设福州
  • wap网站管理系统网页图片下载工具
  • dw制作asp网站模板中国变装网站教你如何做女人
  • 做网站哪个公司可以做深圳市广告设计公司
  • 做流程图用什么网站蓝色创新业务功能展示网页模板
  • 小企业网站建设服务采购网1688
  • 网站建设方案书设计图优化企业网站
  • 免费网页模板源代码宁波做网站seo
  • 信用网站标准化建设方案兰州医院网站建设
  • 途牛旅游网站建设目的srm系统
  • 网站开发优势湛江制作网站多少钱
  • 镇平网站建设网站建设的具体步骤
  • 建立网站企业网站建设三个原则
  • 网站收索功能怎么做移动互联网技术就业前景
  • 做的比较好的电商网站市场营销策划公司排名
  • 原创小说手机网站制作需要多少钱安徽网站建设大全
  • 网站可以微信支付是怎么做的建设银行网站账户注销
  • 网站更改logo中国互联网协会网贷投诉平台