📄 talker.c
字号:
/*****************************************Copyright (c)**************************************************** Guangzhou Zhiyuan Electronic Co.,LTD.** graduate school** http://www.zyinside.com****------------------------------------- File Info ------------------------------------------------------** File name: talker.c** Last modified Date: 2005-12-30** Last Version: 1.0** Descriptions: talker of UDP.**------------------------------------------------------------------------------------------------------** Created by: Ganda** Created date: 2005-12-27** Version: 1.0** Descriptions: Preliminary version.****------------------------------------------------------------------------------------------------------** Modified by: Chenxibing** Modified date: 2005-12-30 ** Version: 1.0.1** Descriptions: modified for MagicARM2410.***********************************************************************************************************/#include <stdio.h> #include <stdlib.h>#include <errno.h> #include <string.h> #include <netdb.h> #include <sys/types.h> #include <netinet/in.h> #include <sys/socket.h> #define PORT 5000 // The port which is communicate with server#define LENGTH 512 // Buffer lengthint main(int argc, char *argv[]){ int sockfd; // Socket file descriptor int num; // Counter of received bytes char sdbuf[LENGTH]; // Receive buffer struct sockaddr_in addr_remote; // Host address information char sdstr[]= {"MagicARM2410 UDP Experiment."}; /* Check parameters number */ if (argc != 2) { printf ("Usage: talker HOST IP (ex: ./talker 192.168.0.94).\n"); return (0); } /* Get the Socket file descriptor */ if ((sockfd = socket(AF_INET, SOCK_DGRAM, 0)) == -1) { printf("ERROR: Failed to obtain Socket Descriptor!\n"); return (0); } /* Fill the socket address struct */ addr_remote.sin_family = AF_INET; // Protocol Family addr_remote.sin_port = htons(PORT); // Port number inet_pton(AF_INET, argv[1], &addr_remote.sin_addr); // Net Address bzero(&(addr_remote.sin_zero), 8); // Flush the rest of struct /* Try to connect the server */ bzero(sdbuf,LENGTH); num = sendto(sockfd, sdstr, strlen(sdstr), 0, (struct sockaddr *)&addr_remote, sizeof(struct sockaddr_in)); if( num < 0 ) { printf ("ERROR: Failed to send your data!\n", argv[1], num); } else { printf ("OK: Sent to %s total %d bytes !\n", argv[1], num); } close (sockfd); return (0);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -