📄 udp_client.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 + -