文档详情

Unix环境编程笔记13.pdf

发布:2017-07-17约1.12万字共9页下载文档
文本预览下载声明
day 12 1 vi socketA.c #inckudestdio.h #includestdlib.h #includeunistd.h #includestring.h #includesys/socket.h #includenetinet/in.h #includearpa/inet.h int main() int sockfd = socket(PF_INET,SOCK_DGRAM,0); struct sockaddr_in addr; addr.sin_family = PF_INET ; addr.sin_port = htons(2222); addr.sin_addr.s_addr = inet_addr(192.168.65.128); int res = bind(sockfd,(struct sockaddr*)addr,sizeof(buf)); char buf[100]= }; read(sockfd,buf,sizeof(buf)); printf(%s\n,buf); close(fd); } vi socketB.c #inckudestdio.h #includestdlib.h #includeunistd.h #includestring.h #includesys/socket.h #includenetinet/in.h #includearpa/inet.h int main() int sockfd = socket(PF_INET,SOCK_DGRAM,0); struct sockaddr_in addr; addr.sin_family = PF_INET ; addr.sin_port = htons(2222); //addr.sin_port = htons(他人端口); addr.sin_addr.s_addr = inet_addr(192.168.65.128); //addr.sin_addr.s_addr = inet_addr(他人IP ); int res = connect(sockfd,(struct sockaddr*)addr,sizeof(buf)); char* buf=hello linux; write(sockfd,buf,sizeof(buf)); close(fd); } 商业开发更多使用的是基于TCP和基于UDP 的开发模式 vi sema.c #includestdio.h #includesys/ipc.h #includesys/sem.h int main() key_t key = ftok(., 100); int semid = semget(key, 1,0666|IPC_CREAT); if(-1 == semid) perror(semget),exit(-1); } int res = semctl(semid,0,STVAL,5); if(-1 == res) perror(semctl),exit(-1);} printf(成功创建并初始化\n); } vi semb.c #includestdio.h #includestdlib.h #includesys/ipc.h #includesys/sem.h #includeunistd.h int main() key_t key = ftok(., 100); int semid = semget(key,0,0); if(semid == -1) perror(semget),exit(-1);} int i; for(i=0;i 10;i++) pid_t pid = fork(); if(pid == 0) printf(进程%d开始启动, 请访问共享资源\n,i+ 1); struct sembuf op; op.semnum=0; op.sem_op = -1; op.sem_flag = 0; semop(semid,op, 1);
显示全部
相似文档