📄 udgramcli.c
字号:
/* * Daytime Client using datagram sockets (UDP) * * ./software/apdxA/daytime/u_dgram/udgramcli.c * * mtj@cogitollc.com * */#include <sys/socket.h>#include <arpa/inet.h>#include <stdio.h>#include <unistd.h>#include <time.h>#define MAX_BUFFER 128#define DAYTIME_SERVER_PORT 45000int main ( int argc, char *argv[] ){ int connectionFd, in; struct sockaddr_in servaddr; char timebuffer[MAX_BUFFER+1]; if (argc != 2) { return(0); } connectionFd = socket(AF_INET, SOCK_DGRAM, 0); memset(&servaddr, 0, sizeof(servaddr)); servaddr.sin_family = AF_INET; servaddr.sin_port = htons(DAYTIME_SERVER_PORT); inet_pton(AF_INET, argv[1], &servaddr.sin_addr); sendto( connectionFd, timebuffer, 1, 0, (struct sockaddr_in *)&servaddr, sizeof(servaddr) ); in = recv(connectionFd, timebuffer, MAX_BUFFER, 0 ); timebuffer[in] = 0; printf("\n%s", timebuffer); close(connectionFd); return(0);}/* * Copyright (c) 2002 Charles River Media. All rights reserved. * * Redistribution and use in source and binary forms, with or * without modification, is hereby granted without fee provided * that the following conditions are met: * * 1. Redistributions of source code must retain the above * copyright notice, this list of conditions and the * following disclaimer. * 2. Redistributions in binary form must reproduce the above * copyright notice, this list of conditions and the * following disclaimer in the documentation and/or other * materials provided with the distribution. * 3. Neither the name of Charles River Media nor the names of * its contributors may be used to endorse or promote products * derived from this software without specific prior * written permission. * * THIS SOFTWARE IS PROVIDED BY CHARLES RIVER MEDIA AND CONTRIBUTERS * 'AS IS' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL CHARLES * RIVER MEDIA OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, * INCIDENTAL, SPECIAL, EXEMPLARAY, OR CONSEQUENTIAL DAMAGES (INCLUDING, * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -