sockets: sockets网络编程基础

本文介绍了网络编程的基础知识,包括TCP/IP协议的四层模型、网络相关命令,以及在Unix和Linux系统中进行网络编程时涉及的库函数。重点讲解了socket API,字节序转换如htons、ntohs等,以及IPv4和IPv6的地址转换函数。还提到了不同操作系统的大端小端问题,并推荐使用SCTP和IPv6的API。
摘要由CSDN通过智能技术生成

全部包含:

#include <unistd.h>

#include <sys/types.h>

#include <sys/socket.h>

#include <arpa/inet.h>     

#include <netinet/in.h> 

#include <netinet/tcp.h>  

#include <netinet/sctp.h>

#include <net/if.h>

#include <netdb.h>

 

tcp/ip协议有四层,ISO协议有七层;

应用层:

传输层:TCP,UDP,SCTP

网络层:IP,ICMP,IGMP

链路层:ARP,RARP

 

网络相关命令:

netstat

tcpdump

arp

lsof

iptables

ifconfig

ping

traceroute

route

 

在SVr4系统中编译函数要加链接库socket和nsl:

-lsocket   -lnsl 

编译sctp程序需要链接sctp库:

-lsctp

 

大端小端的问题

小端:低字节在起始地址,高字节在高地址

大端:高字节在起始地址,低字节在高地址

linux一般都是小端

unix一般都是大端

16位数据,由2个字节组成,一个字节在高地址,一个字节在低地址。

32位数据,由4个字节组成,以此类推。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值