📄 udps.c
字号:
#include "s_com.h"
#include "s_sock.h"
#include "s_tool.h"
#define MPORT 4950
#define MAXSIZE 80
#define STDIN 0
int main(int argc,char *argv[])
{
int sockfd ;
struct sockaddr_in saddr={10,AF_INET,MPORT,0} ;
struct sockaddr_in r_addr ;
struct sockaddr *addr ;
int addr_len ;
int n=0;
char recvs[MAXSIZE];
size_t len ;
fd_set rset;
struct timeval tv ;
tv.tv_sec = 2 ;
if ((sockfd=init_udp())==-1)
{
perror("socket error!!");
exit(-1);
}
init_udp_addr(&saddr,"0",MPORT);
if (bind(sockfd,(struct sockaddr*)(&saddr),sizeof(struct sockaddr_in))==-1)
{
perror("bind error!!");
exit(-1);
}
printf("Input string:\n");
/*
set_fl(sockfd,O_NONBLOCK);
*/
FD_ZERO(&rset);
while(1)
{
len=sizeof(struct sockaddr_in);
memset(recvs,0,sizeof(recvs));
/* FD_SET(STDIN,&rset) ; */
FD_SET(sockfd,&rset);
select(sockfd+1,&rset,NULL,NULL,&tv);
/* if (FD_ISSET(STDIN,&rset))
printf("a key was press!!\n");
*/
if (FD_ISSET(sockfd,&rset))
if ((n=recvfrom(sockfd,recvs,MAXSIZE,0,addr,&len))==-1)
{
printf("receive none!!\n");
}
else printf("receive:%s \n",recvs);
else printf(".............\n") ;
FD_CLR(sockfd,&rset);
sleep(2);
if ((recvs=="exit")||(recvs=="exit\n")) exit(1) ;
}
close(sockfd);
exit(0);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -