Linux网络编程API
来源:互联网 发布:mac os 10.10 iso下载 编辑:程序博客网 时间:2024/05/01 21:25
1 socket地址API
socket含义ip地址和端口(ip,port)
2 socket基础API(#include <sys/socket.h>)
创建socket、命名socket、监听socket、
接受连接、发起连接、读写数据、获取地址信息、
检测外带标记、读取和设置socket选项
3 网络信息API(#include <sys/netdb.h>)
主机名称和ip地址之间的转换
服务名称和端口之间的转换
创建、命名、监听socket
创建socket
#include <sys/socket.h>
#include <sys/types.h>
int socket(int domain, int type, int protocol) #创建一个socket套接字
#domain 协议族AF_INET或者AF_INET6
#type SOCK_STREAM或SOCK_DGRAM或SOCK_UGRAM
#protocol 默认为0
命名socket
#include <sys/types.h>
#include <sys/socket.h>
在服务端,创建的socket只有与socket地址绑定之后,才能够让客户端知道连接地址。
int bind(int sockfd, const struct sockaddr* server_addr, socklen_t addrlen)
#将server_addr的地址给sockfd
#成功为0,失败为-1,并且设置error
监听socket
#include <sys/types.h>
#include <sys/socket.h
int listen(int socffd, int backlog)
#backlog内核中监听队列的最大长度
#成功为0,失败为-1,并且设置error
接受socket连接
#include <sys/types.h>
#include <sys/socket.h>
int accept(int sockfd, struct sockaddr* client_addr, socklen_t* addrlen)
#sockfd 监听的socket
#client_addr 客户端的socket地址(fd信息)
#addrlen 客户端的socket地址的长度
#返回一个socket的文件描述符(fd),这是服务端和客户端的通道
创建(发起)socket连接
#include <sys/types.h>
#include <sys/socket.h>
int connect(int sockfd, const struct sockaddr *server_addr, socklen_t addrlen)
#sockfd 返回系统调用的socket,这是和server通信的唯一通道(连接)
#server_adddr 服务器(server)地址
#返回 成功是返回0,失败时返回-1,并且设置errno
errno的值(ETIMEOUT 连接超时
ECONNREFUSED 端口不存在)
关闭(socket)连接
#include <unistd.h>
int close(int fd)
#关闭连接
#include <sys/socket.h>
int shutdown(int sockfd, int howto)
#howto参数
SHUT_RD 关闭sockfd上读的一端
SHUT_WR 关闭sockfd上写的一端
SHUT_RDWR 同时关闭读和写
0 0
- Linux网络编程API
- Linux网络编程API
- linux 网络编程API(一)
- linux网络编程基础API
- Linux网络编程基础API
- linux网络编程基础API(一)
- linux网络编程基础API(二)
- Linux网络编程常用API(一)
- Linux下的网络编程API基础
- Linux网络编程基础API(多线程实现)
- 浅析linux网络编程基础API
- Linux网络编程基础API--socket地址API
- Linux网络编程基础API--socket文件描述符API
- Linux网络编程基础API--TCP的数据读写API
- 服务器编程入门(4)Linux网络编程基础API
- 网络编程常用API
- Unix网络编程API
- Unix网络编程API
- socket地址结构体
- leetCode & hihocoder:最长回文子字符串时间复杂度为O(N)解法
- selenium+python剥离公用方法
- IP地址转换函数
- 如何生成二维码
- Linux网络编程API
- ssh出现connection timeout
- asp.net敏感词过滤
- socket数据读写
- 网站后台功能基本要求
- 初入linux安装
- 计划安排
- cocos2dx多线程以及线程同步 与 cocos2dx内存管理与多线程问题
- C#解析json文件的方法