linux_C_Socket

最近学习linux下的网络编程socket,感觉函数比较多,流程繁琐,所以坐下笔记 吧。

函数用法
int socket(int domain,int type,int protocol)创建通信接口,返回文件描述符,domain的主要取值:AF_UNIX,type代表网络采用的通讯协议,TCP->SOCK_STREAM,UDP->SOCK_DGRAM,因为指定type,所以protocol一般0,
int bind(int sockfd,struct sockaddr *my_addr,int addrlen)绑定文件描述符和对应的数据结构,sockfd 为socket的返回文件描述符,sockaddr的具体在下面
int listen(int sockfd,int backlog)sockfd 为文件描述符,backlog为排队最大长度
int accept(int sockfd,struct sockaddr *addr,int *addrlen)addr是用来给客户端的程序填写,服务器只传指针接收,此函数调用时候,服务器会阻塞直到客户端发出连接,返回文件描述符
int connect(int sockfd,struct sockaddr *serv_addr,int addrlen)connect是客户端用来连接服务端的,serv_addr储存服务器连接信息,sin_addr是服务端的地址
int recvfrom(int sockfd,void *buf,int len,unsigned int flags,struct sockaddr *from,int *fromlen)buf为接收缓存区,from储存发送来源的信息,若对信息来源不感兴趣,可以设为NULL
int sendto(int sockfd,const void *msg,int len,unsigned int flags,struct sockaddr *to,int len)同上,这个是发送,这俩个函数是基于UDP的
int shutdown(int sockfd,int howto)close只关闭一个方向,howto=0,系统关闭读通道,但可以继续写,1,关闭写通道,可以读,3,关闭读写通道

h->host n->network s->short l->long 将网络上的数据转换为本机数据

unsigned long htonl(unsigned long hostlong)
unsigned short htons(unsigned short hostshort)
unsigned long ntohl(unsigned long netlong)
unsigend short ntohs(unsigned short netshort)

这是个函数经常从网络字符换换为本机字符

struct sockaddr_in{
unsigned short sin_faily;//AF_INET->Internet INADDR_ANY->any
unsigned short sin_port;
struct in_addr sin_addr;
unsigned char sin_zero[8];
}

bind,listen,accept 是服务端的函数,

以上就是基本的socket编程的函数,希望日后能熟练运用

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值