int main(int argc, char **argv) { int sockfd; const int on = 1; socklen_t salen; struct sockaddr *sa; if (argc == 1) { sockfd = udp_client(SAP_NAME, SAP_PORT, &sa, &salen); } else if (argc == 4) { sockfd = udp_client(argv[1], argv[2], &sa, &salen); } else { fprintf(stderr, "usage: mysdr <mcast-addr> <port#> <interface-name>\n"); exit(1); } if (setsockopt(sockfd, SOL_SOCKET, SO_REUSEADDR, &on, sizeof(on)) < 0) { perror("setsockopt error"); exit(1); } if (bind(sockfd, sa, salen) < 0) { perror("bind error"); exit(1); } if (mcast_join(sockfd, sa, salen, (argc == 4) ? argv[3] : NULL, 0) < 0) { perror("mcast_join error"); exit(1); } loop(sockfd, salen); /* receive and print */ exit(0); }
int main(int argc,char *argv[]) { if(argc != 5) { printf("Incorrect format\n"); printf("\n Usage: %s <listenportno> <ip of server> <connectportno> <protocol>\n",argv[0]); return 1; } char *listenportno = argv[1]; char *connectportno = argv[3]; char *ip = argv[2]; if(strcmp(argv[3],"udp")==0) isudpset = 1; else isudpset = 0; pid_t pid; pid = fork(); if(pid == 0) { if(isudpset) udp_server(listenportno); else tcp_server(listenportno); } else if(pid > 0) { if(isudpset) udp_client(ip,connectportno); else tcp_client(ip,connectportno); } return 0; }
int main(int argc, const char *argv[]) { fb_info fb_v; fb_info * temp; pthread_t id; int ret; Dot mid; mid.x = 512; mid.y = 275; char ip_address[20]; int mode; create_fb(&fb_v); system("clear"); mode = startup(fb_v, ip_address); draw_pic(fb_v,OFFSET - 20,0,940,720,gImage_chessboard); draw_pic(fb_v,OFFSET - 120,200,100,100,gImage_chessboard); draw_pic(fb_v,OFFSET - 120,500,100,100,gImage_chessboard); draw_piece(fb_v,OFFSET - 70,250,40,0x00000000); draw_piece(fb_v,OFFSET - 70,550,40,0xffffffff); print_board(fb_v,23,30,30,OFFSET,15,0x00000000); temp = &fb_v; if((ret = pthread_create(&id, NULL, (void *) mouse_test,(void *)temp)) != 0) { printf("Create pthread error!\n"); exit(1); } if(mode == 1) udp_server(fb_v); else udp_client(fb_v, ip_address); return 0; }
int main( int argc, char **argv ) { struct sockaddr_in peer; SOCKET s; int rc = 0; socklen_t len; char buf[ 120 ]; INIT(); s = udp_client( argv[ 1 ], argv[ 2 ], &peer ); while ( fgets( buf, sizeof( buf ), stdin ) != NULL ) { rc = sendto( s, buf, strlen( buf ), 0, ( struct sockaddr * )&peer, sizeof( peer ) ); if ( rc < 0 ) error( 1, errno, "sendto failed" ); len = sizeof( peer ); rc = recvfrom( s, buf, sizeof( buf ) - 1, 0, ( struct sockaddr * )&peer, &len ); if ( rc < 0 ) error( 1, errno, "recvfrom failed" ); buf[ rc ] = '\0'; fputs( buf, stdout ); } EXIT( 0 ); }
int Udp_client(const char *host, const char *serv, void **vptr, socklen_t *lenp) { int n; if ( (n = udp_client(host, serv, vptr, lenp)) < 0) err_quit("udp_client error for %s, %s", host, serv); return(n); }
int main(int argc,char *argv[]) { int sendfd,recvfd; const int on=1; socklen_t salen; struct sockaddr *sasend,*sarecv; int retval; fprintf(stderr,"\nMULTICAST DATA MOVER : \n%s %s %s %s %s %s\n", argv[0],argv[1],argv[2],argv[3],argv[4],argv[5]); glb.sourcefd = atoi(argv[3]); glb.filesize = atoi(argv[4]); strcpy(glb.IBP_cap,argv[5]); strcpy(group,argv[1]); sendfd=udp_client(argv[1],argv[2],(void **)&sasend,&salen); setsockopt(sendfd,SOL_SOCKET,SO_REUSEADDR,&on,sizeof(on)); sarecv=malloc(salen); memcpy(sarecv,sasend,salen); bind(sendfd,sasend,salen); mcast_join(sendfd,sasend,salen,NULL,0); printf("-->in here 1 \n"); retval=ReceiveData(sendfd,salen); if(retval < 0) { printf("abrubtly ended due to error \n"); mcast_leave(sendfd,sasend,salen); exit(3); } mcast_leave(sendfd,sasend,salen); printf("recieved all data \n"); exit(0); }
int main(int argc, char *argv[]) { int sockfd, n; char recvline[MAXLINE + 1]; /* plus 1 for terminator */ socklen_t salen; struct sockaddr *sa; if (argc != 3) err_quit("usage: daytimeudpcli1 <hostname/IPaddress>" " <service/port#>"); sockfd = udp_client(argv[1], argv[2], (SA **)&sa, &salen); printf("sending to %s\n", sock_ntop_host(sa, salen)); if (sendto(sockfd, " ", 1, 0, sa, salen) < 0) err_sys("sendto error"); if ((n = recvfrom(sockfd, recvline, MAXLINE, 0, NULL, NULL)) < 0) err_sys("recvfrom error"); recvline[n] = 0; fputs(recvline, stdout); exit(0); }
/** Client test program */ int client(unsigned int port) { int sock; uint32_t tmp; /* get test value to network order */ tmp = htonl(test_value); /* create our socket */ if((sock = udp_client("127.0.0.1", port)) < 0) return_val_flail(TEST_FAIL, ";;rp udp client returned error"); /* send our packet */ if(send(sock, (void *)(&tmp), sizeof(uint32_t), 0) != sizeof(uint32_t)) return_val_flail(TEST_FAIL, "u;;rp could not send packet from client to server"); /* close down our socket */ if(close(sock)) return_val_flail(TEST_FAIL, "u;;rp could not close client socket"); /* everything worked */ return TEST_PASS; }
int main(int argc, char *argv[]) { char proto, mode; unsigned int addr; unsigned short port; //read arguments (options) readargs(argc, argv, &proto, &mode, &addr, &port, "10001"); if(mode == 's') { if(proto == 'u') { udp_server(port); } else { tcp_server(port); } } else { if(proto == 'u') { udp_client(addr, port, 0); } else { tcp_client(addr, port, 0); } } return 0; }
int Udp_client(const char *host, const char *serv, void **saptr, socklen_t *lenptr) { return(udp_client(host, serv, saptr, lenptr)); }
int main(int argc, char **argv) { int sockfd, fd = 5; //random fd > stderr const int on = 1, op = RCVBUF; struct sockaddr *sa; socklen_t salen; struct sigaction sig; struct tm tm; char fname[64] = {0}; char *buf; time_t t; ssize_t n, i, cnt; pthread_t pid; if (argc < 4) { fputs("\nUsage: cute <MCast GRP> <UDP port> <dump location> [if name]\n", stderr); exit(1); } //file is created and grown in current working folder printf("\nUse SIGHUP to start over or SIGTERM to slice the record to %s\n", argv[3]); sockfd = udp_client(argv[1], argv[2], &sa, &salen); //creates socket and fills sockaddr if (setsockopt(sockfd, SOL_SOCKET, SO_REUSEADDR, &on, sizeof(on)) < 0) { perror("setsockopt reuseaddr"); exit(1); } if (setsockopt(sockfd, SOL_SOCKET, SO_RCVBUF, &op, sizeof(op)) < 0) { perror("setsockopt rcvbuf"); exit(1); } if (bind(sockfd, sa, salen) < 0) { perror("bind"); exit(1); } bzero(&sig, sizeof(sig)); sig.sa_handler = slicenow; if (sigaction(SIGTERM, &sig, NULL) < 0) { perror("sigaction term"); exit(1); } if (sigaction(SIGHUP, &sig, NULL) < 0) { perror("sigaction hup"); exit(1); } if (sigaction(SIGINT, &sig, NULL) < 0) { perror("sigaction int"); exit(1); } if (mcast_join(sockfd, sa, salen, (argc == 5) ? argv[4] : NULL, 0) < 0) { perror("mcast_join"); //exit(1); } if ( (buf = malloc(RCVBUF / 2)) == NULL) { // buffer for recv() fputs("malloc error", stderr); exit(1); } printf("Niceness set: %d\n\n", nice(LIFT)); for (; ;) { if (sflag != 0) { if (sflag == SIGINT) { //unlink(fname); puts(""); exit(0); } time(&t); if (gmtime_r(&t, &tm) == NULL) { fputs("gmtime_r error", stderr); exit(1); } strcpy(filename, fname); snprintf(fname, sizeof(fname), "%04d%02d%02d%02d%02d%02d.ts",\ tm.tm_year + 1900, tm.tm_mon + 1, tm.tm_mday, tm.tm_hour,\ tm.tm_min, tm.tm_sec); puts(fname); close(fd); //first time error is ignored if ( (fd = creat(fname, 0644)) < 0) { perror("create"); exit(1); } if (sflag == SIGHUP) unlink(filename); else if (sflag == SIGTERM) if ( (errno = pthread_create(&pid, NULL, file_move, argv[3])) != 0) perror("pthread_create"); sflag = 0; } //MSG_WAITALL looks irrelevant for SOCK_DGRAM if ( (n = recv(sockfd, buf, RCVBUF / 2, MSG_WAITALL)) < 0) { if (errno == EINTR) continue; else { perror("recv()"); exit(1); } } if (n > 0) { i = 0; while (i < n) if ( (cnt = write(fd, buf + i, n - i)) < 0) { if (errno == EINTR) continue; else { perror("write()"); exit(1); } } else i += cnt; } else fputs("paradox: recv() returned 0", stderr); } return 0; }
int nfs_mount(const char *pathname, const char *hostname, uint32_t server, const char *rem_path, const char *path, struct nfs_mount_data *data) { struct client *clnt = NULL; struct sockaddr_in addr; char mounted = 0; int sock = -1; int ret = 0; int mountflags; if (get_ports(server, data) != 0) goto bail; dump_params(server, rem_path, data); if (data->flags & NFS_MOUNT_TCP) clnt = tcp_client(server, mount_port, CLI_RESVPORT); else clnt = udp_client(server, mount_port, CLI_RESVPORT); if (clnt == NULL) goto bail; if (data->flags & NFS_MOUNT_VER3) ret = mount_v3(rem_path, data, clnt); else ret = mount_v2(rem_path, data, clnt); if (ret == -1) goto bail; mounted = 1; if (data->flags & NFS_MOUNT_TCP) sock = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP); else sock = socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP); if (sock == -1) { perror("socket"); goto bail; } if (bindresvport(sock, 0) == -1) { perror("bindresvport"); goto bail; } addr.sin_family = AF_INET; addr.sin_addr.s_addr = server; addr.sin_port = htons(nfs_port); memcpy(&data->addr, &addr, sizeof(data->addr)); strncpy(data->hostname, hostname, sizeof(data->hostname)); data->fd = sock; mountflags = (data->flags & NFS_MOUNT_KLIBC_RONLY) ? MS_RDONLY : 0; data->flags = data->flags & NFS_MOUNT_FLAGMASK; ret = mount(pathname, path, "nfs", mountflags, data); if (ret == -1) { if (errno == ENODEV) { fprintf(stderr, "mount: the kernel lacks NFS v%d " "support\n", (data->flags & NFS_MOUNT_VER3) ? 3 : 2); } else { perror("mount"); } goto bail; } dprintf("Mounted %s on %s\n", pathname, path); goto done; bail: if (mounted) { if (data->flags & NFS_MOUNT_VER3) umount_v3(path, clnt); else umount_v2(path, clnt); } ret = -1; done: if (clnt) client_free(clnt); if (sock != -1) close(sock); return ret; }