概述
使用UDP实现的一个简单echo服务器
#include <sys/socket.h>
#include <sys/types.h>
#include <arpa/inet.h>
#include <stdio.h>
#define SERV_PORT 20000
#define MAXLINE 4096
void echo(int sockfd, struct sockaddr *client, socklen_t clilen)
{
int n;
char mesg[MAXLINE];
socklen_t len;
for(; ;)
{
len = clilen;
// 接收客户端的消息
n = recvfrom(sockfd, mesg, MAXLINE, 0, client, &len);
printf("recv: %s", mesg);
// 将来自客户端的消息发送给它
sendto(sockfd, mesg, n, 0, client, len);
}
}
int main()
{
int sockfd;
struct sockaddr_in servaddr, cliaddr;
// 创建网际数据报套接字
sockfd = socket(AF_INET, SOCK_DGRAM, 0);
memset(&servaddr, 0, sizeof(servaddr));
servaddr.sin_family = AF_INET;
servaddr.sin_addr.s_addr = htonl(INADDR_ANY);
servaddr.sin_port = htons(SERV_PORT);
// 绑定指定的套接字地址结构
bind(sockfd, (struct sockaddr *)&servaddr, sizeof(servaddr));
// 主echo循环
echo(sockfd, (struct sockaddr *)&cliaddr, sizeof(cliaddr));
}
最后
以上就是要减肥黑猫为你收集整理的7.通过udp提供echo服务的全部内容,希望文章能够帮你解决7.通过udp提供echo服务所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复