基本UDP套节口编程:

基本UDP套节口编程:

qing

#include <sys/socket.h>

 

ssize_t recvfrom(int sockfd, void *buf, size_t nbytes, int flags, struct sockaddr *from, socklen_t *addrlen);

ssize_t sendto(int sockfd, const void *buf, size_t nbytes, int flags, const struct sockaddr *to, socklen_t addrlen);

 

UDP回射服务器:

#include <stdio.h>

#include <stdlib.h>

#include <sys/socket.h>

 

dg_echo(int sockfd, struct sockaddr *pcliaddr, socklen_t clilen)

{

       int   n;

       socklen_t len;

       char       msg[MAXLINE];

      

       for(;;){

              len = clilen;

              n = recvfrom(sockfd, msg, MAXLINE, 0, pcliaddr, len);

              sendto(sockfd, msg, n, 0, pcliaddr, len);

       }

      

}

int

main(int argc, char **argv)

{

       int          sockfd;

       struct sockaddr_in  servaddr,cliaddr;

      

       sockfd =socket(AF_INET,SOCK_DGRAM, 0);

      

       bzero(&servaddr, sizeof(servaddr));

       servaddr.sin_family = AF_INET;

       servaddr.sin_addr.s_addr = htonl(INADDR_ANY);

       servaddr.sin_port = htons(SERV_PORT);

      

       bind(sockfd, (sockaddr *)&servaddr, sizeof(servaddr));

      

       dg_echo(sockfd, (sockaddr *)&cliaddr, sizeof(cliaddr));

 

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值