#include <sys/types.h>
#include <sys/socket.h>
#include <sys/time.h>
#include <netinet/in.h>
#include <unistd.h>
#include <stdio.h>
#include <string.h>
#include <time.h>
#include<sys/wait.h>
#include<errno.h>
//#include<arpa.inet.h>
#define BUFFSIZE 128
#define PORT 10355
int main()
{
struct sockaddr_in addr;
int sockfileDesc, n,addr_len,m;
char buff[BUFFSIZE]="\0";
sockfileDesc = socket(AF_INET, SOCK_DGRAM, 0);
if(sockfileDesc<0)
{
printf("create socket error\n");
}
// err_sys("socket error");
bzero((char *) &addr, sizeof(addr));
addr_len=sizeof(struct sockaddr_in);
// memset(&addr,0,addr_len);
addr.sin_family = AF_INET;
addr.sin_addr.s_addr = INADDR_ANY;
addr.sin_port=htons(PORT);
if(bind(sockfileDesc,(struct sockaddr*)&addr,sizeof(addr))<0)
{
perror("connect error");
return -1;
}
/*
n=sendto(sockfileDesc, buff, BUFFSIZE, 0, (struct sockaddr *)&addr,sizeof(addr));
printf("%d",n);
memset(&localaddr,0,addr_len);
localaddr.sin_family = AF_INET;
localaddr.sin_addr.s_addr = inet_addr("192.192.192.211");
localaddr.sin_port=htons(10355);*/
// err_sys("sendto error");
while(1)
{
m=recvfrom(sockfileDesc, buff, sizeof(buff), 0, (struct sockaddr*)&addr, &addr_len);
if(m<0)
{
printf("recvfrom error\n");
}
// buff[n-2]=0;
printf("receive from client %s\n", inet_ntoa(addr.sin_addr));
printf("receive data is %s\n", buff);
sendto(sockfileDesc,buff,m,0,(struct sockaddr*)&addr,addr_len);
/* if(memcmp(&recvaddr,&addr,addr_len)!=0)
{
buff[BUFFSIZE]=0;
printf("%s\n", buff);
}*/
usleep(10000);
}
return 0;
}
深圳皮克智能技术有限公司
- 粉丝: 854
- 资源: 5
最新资源
- C++课程设计-基于Qt和MySQL实现的图书管理系统源码+数据库+使用文档(95分以上)
- TVM BYOC框架相关总结PPT
- qm9数据集的下载txt文件
- qm9数据集资源下载.tar.bz2文件
- 原子热力学参量与元素性质的关系研究
- VTK-8.2.0-Install-VS2017-x64-Debug VTK-8.2.0-Install-VS2017-x64
- VTK-8.2.0-Install-VS2017-x64
- KB2887595.zip KB2887595.zip KB2887595.zip
- Microsoft Access 2016 数据库引擎
- KB2919355.zip KB2919355.zip KB2919355.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
- 1
- 2
前往页