📄 server.c
字号:
#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <sys/stat.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <errno.h>
#define SERV_PORT 8004
#define MAX_MSG_SIZE 1024
void udps_respon(int sockfd)
{
int n;
struct sockaddr_in addr;
socklen_t len;
char szMesg[MAX_MSG_SIZE];
while(1)
{
// len = cliLen;
n = recvfrom(sockfd,szMesg,MAX_MSG_SIZE,0,(struct sockaddr*)&addr,&len);
szMesg[n] = 0;
fprintf(stdout,"%s: %s\n",inet_ntoa(addr.sin_addr),szMesg);
sendto(sockfd,"Edgar Hello!\n",n,0,(struct sockaddr*)&addr,len);
}
}
int main()
{
int sockfd;
struct sockaddr_in servAddr,cliAddr;
sockfd = socket(AF_INET,SOCK_DGRAM,0);
if(sockfd<0)
{
fprintf(stderr,"Socket Error:%s\n",strerror(errno));
exit(1);
}
bzero(&servAddr,sizeof(servAddr));
servAddr.sin_family = AF_INET;
servAddr.sin_addr.s_addr = htonl(INADDR_ANY);
servAddr.sin_port = htons(SERV_PORT);
if(bind(sockfd,(struct sockaddr *)&servAddr,sizeof(servAddr))<0)
{
fprintf(stderr,"Bind Error:%s\n",strerror(errno));
exit(1);
}
udps_respon(sockfd);
close(sockfd);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -