Linux下UDP回声服务器的实现

首先我们需要了解一下UDP和TCP的区别

TCP面向连接数据的传输方式有三个特点:

A、传输的过程数据不会丢失

B、按顺序传输

C、传输的过程中不存在数据边界

TCP协议是面向连接的套接字:可靠的、按序传递的、基于字节的面向连接的数据传输方式的套接字。

UDP数据的传输方式有四个特点:

A、强调快速传输而非传输顺序

B、传输的数据可能丢失也可能损毁

C、传输的过程中不存在数据边界

D、限制每次传输的数据大小

UDP协议是面向消息的套接字:不可靠的、不按序传递的、以数据的高速传输位目的的套接字。

UDP回声服务器服务端的代码实现:

#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <stdio.h>
#include <unistd.h>
#include <errno.h>
#include <stdlib.h>
//相对于TCP来说 UDP的服务器实现缺少了确认步骤
void handle_error(const char* msg)
{
   
	fputs(msg, stderr);
	fputc('\n', stderr);
	exit(1);
}
int UDP_sever(int argc,char* argv[])
{
   
    int  ser_sock = -1;
    char message[512] = "";
    struct sockaddr_in servaddr,clientaddr;
    if(argc!=2)
    
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值