linux--网络编程

本文介绍了网络编程中的关键概念,包括字节序(大端和小端)以及网络字节序。详细阐述了TCP和UDP协议的区别,接着列举并解释了一系列相关API,如socket创建、bind绑定、listen监听、connect连接、send发送和recv接收数据等,同时还提到了字节序转换函数的重要性。
摘要由CSDN通过智能技术生成

目录

一、字节序

二、相关API

1.连接协议

2.地址转换API

3.监听

4.连接

5.收发

6.连接

7.字节序转换API


socket(套接字)网络编程

Tcp协议是面向连接

Udp协议是面向报文,较于tcp是不可靠的,但其数据量大可以有另外的使用场景

一、字节序

概述:字节序是指多字节数据在计算机内存中存储或者网络传输时各字节的存储顺序。

Little endian 小端字节序

Big endian 大端字节序

网络字节序=大端字节序

二、相关API

1.连接协议

int socket(int domain,int type,int protocl);

int bind(int sockfd,const struct sockaddr *addr,socklen_t addrlen);

2.地址转换API

int inet_aton(const char* straddr,struct in_addr *addrp);

//把字符串形式的例“192.168.1.123”转为网络能识别的格式



              char* inet_ntoa(struct in_addr inaddr);

              //把网络格式的ip地址转为字符串形式

3.监听

int listen(int sockfd,int backlog);

4.连接

int accept(int sockfd,struct sockaddr *addr,socklen_t *addrlen);

5.收发

ssize_t send(int s,const void *msg,size_t len,int flag);

//在tcp套接字上发送数据函数:有连接

ssize_t recv(int s,void *buf,size_t len,int flags);

//在tcp套接字上接收数据函数:有连接

6.连接

int connect(int sockfd,const struct sockaddr *addr,socklen_t addrlen);

//客户机连接主机d

7.字节序转换API

uint16_t htons(uint16_t host16bitvalue);     //返回网络字节序的值

uint32_t htonl(uint32_t host32bitvalue);      //返回网络字节序的值

uint16_t ntohs(uint16_t net16bitvalue);       //返回主机字节序的值uint32_t

ntohl(uint32_t net32bitvalue);       //返回主机字节序的值

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值