⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 udp_client.c

📁 嵌入式Linux程序设计与应用案例 电子书源码 中国电力出版社
💻 C
字号:
/**************
//   name : udp_client.c
//   author : pyy
//   date : 2007-11-26
***************/

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<sys/socket.h>
#include<netinet/in.h>
#include<arpa/inet.h>
#include<netdb.h>


int port = 8000;

int main()
{
    int sockfd;
    int i=0;
    int z;
    char buf[80],str1[80];
    struct sockaddr_in adr_srvr;
    FILE *fp;

while(1)
{
    /* 打开product.txt 文本文件*/	
    printf("打开文件......\n");
    fp = fopen("product.txt","r");
    if (fp == NULL)
    { perror("open file"); exit(1);}
   
    /* 建立Server IPv4地址*/
    printf("连接 Server......\n");
    bzero(&adr_srvr, sizeof(adr_srvr));
    adr_srvr.sin_family = AF_INET;
    adr_srvr.sin_addr.s_addr = inet_addr("211.87.99.169");
    adr_srvr.sin_port = htons(port);
    
    /*建立Socket*/
    sockfd = socket(AF_INET, SOCK_DGRAM, 0);
    if (sockfd == -1)
    { perror("socket error"); exit(1);}
    
    /*连续读取product.txt中的3笔数据, 传给Server*/
    printf("传送文件内容......\n");
    for(i=0; i<3; i++)
    {
        fgets(str1, 80, fp);
        printf("第 %d 笔:%s\n",i,str1);
        sprintf(buf,"第 %d 笔:%s\n", i,str1);
        z = sendto(sockfd, buf, sizeof(buf), 0, (struct sockaddr *)&adr_srvr, sizeof(adr_srvr));
        if ( z < 0 ) {perror("sendto error"); exit(1);}
        	
    }

    /*传送 stop 字符串给 server*/	
//    printf("传送结束字符串......\n");
//    sprintf(buf,"stop\n");
//    z = sendto(sockfd, buf, sizeof(buf), 0, (struct sockaddr *)&adr_srvr, sizeof(adr_srvr));
    if(z < 0) { perror("sendto error"); exit(1);}
    
    fclose(fp);
    close(sockfd);
  }//**********
    printf("信息传送结束.\n");
    exit(0);
	
	
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -