网络编程 C语言实现UDP客户端和服务端的简单通信

本文展示了如何使用C语言编写一个简单的UDP客户端和服务端程序,实现双方的双向通信。客户端通过`sendto`和`recvfrom`函数发送和接收消息,服务端则监听指定端口,接收到消息后回发相同内容。代码在CentOS环境下进行了编译和运行。
摘要由CSDN通过智能技术生成

网络编程C实现UDP客户端和服务端的简单通信

客户端代码

#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <string.h>
#include <netdb.h>
#include <sys/types.h>
#include <netinet/in.h>
#include <sys/socket.h>
#include <arpa/inet.h>
#include <unistd.h>
 
int CLIENT_PORT=1234;
char* CLIENT_IP="127.0.0.1";
 
int main()
{
    /*1 创建socket*/
    int socket_fd = socket(AF_INET, SOCK_DGRAM, 0);
    if(socket_fd == -1)
    {
        perror("udp_socket创建失败!退出客户端系统");
        exit(-1);
    }
 
    /*2 准备地址:需要设计一个地址结构体用于存储sock地址结构 addr 的数据*/
   struct sockaddr_in addr;
   //设置family地址格式类型
   addr.sin_family = AF_INET;
 
   /*绑定地址和端口;
    * htons是一个转换函数,因为操作系统中的字节排序和网络中字节排序中的字节流顺序是不统一的,所以在进行由系统转化为网络传送。
    *  htons->host to net short 由主机转换为网络顺序。
    */
   addr.sin_port = htons(CLIENT_PORT);
   addr.sin_addr.s_addr = inet_addr
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值