UDP——循环服务器

UDP:每次都要指定ip和端口号

案例:对讲机、网站、组播、和广播等

实时性强!

循环服务器

头文件

#include
#include
#include

#include
#include
#include
#include
#include

服务器server.c
1、建立socket通信通道,生成sfd标识符
2、初始化socket信息数据结构
3、bind连接
4、recvfrom、sendto函数

struct sockaddr_in addr;
int sockfd=socket(AF_INET,SOCK_DGRAM,0)if(sockfd==-1)
{
    perror("socket error\n");
    exit(1);
 }
bzero(&addr,sizeof(struct sockaddr_in));
addr.sin_family=AF_INET;
addr.sin_port=htons(PORT);
addr.sin_addr.s_addr=inet_addr("192.168.43.177");

if(bind(sockfd,(struct sockaddr*)&addr,sizeof(struct sockaddr_in))==-1)
{
    perror("bind error\n");
    exit(1);
 }
int opt=1;
setsockopt(sockfd,SOL_SOCKET,SO_REUSEADDR,&opt,sizeof(opt));
char buffer[1024];
while(1)
{
    memset(buffer,0,sizeof(buffer));
    printf("please send message:");
    scanf("%s",buffer);
    sendto(sockfd,buffer,sizeof(buffer),0,(struct sockaddr*)&addr,sizeof(struct sockaddr_in));
        }
close(sockfd);
    

客户端client.c
方法和服务器一样,只需要改变recvfrom或者sendto函数
UDP——循环服务器_第1张图片

你可能感兴趣的:(linux_C网络编程)