|
作者: cimsxiyang [cimsxiyang] 版主 | 登录 |
几种socket函数的原形: /*socket*/ #include<sys/socket.h> int socket (int family,int type,int protocol); /*family 参数指定协议族*/ /*type 参数指定socket类型*/ /*protocol参数为协议,一般将其置0*/ -------------------------------------- /*bind*/ #include <sys/socket.h> int bind(int sockfd,const sockaddr*myaddr,socklen_t addrlen); /*sockfd参数为socket描述符,是socket()函数的成功调用*/ /*sockaddr*myaddr是一个指向与协议有关的地址结构的指针*/ /*socklen_t addrlen为地址的长度*/ -------------------------------------------- /*connect*/ /*only for tcp serv*/ #include<sys/socket.h> int connect (int sockfd,const struct sockaddr*servaddr,socklen addrlen); /*sockfd 参数为socket调用返回的socket描述符*/ /*sockaddr*servaddr指向socket地址结构的指针*/ /*socklen addrlen为地址结构的大小*/ -------------------------------------------------- /*listen*/ /*only for tcp serv*/ #include<sys/socket.h> int listen (int sockfd,int backlog); /*sockfd 参数为socket调用返回的socket描述符*/ /*backlog 规定了内核为该socket排队的最大连接数*/ -------------------------------------------- /*accept*/ /*only for tcp serv*/ #include<sys/socket.h> int accept (int sockfd,struct sockaddr*cliaddr,socklen_t *addrlen); /*sockfd ----listening socket*/ /*struct sockaddr*cliaddr和socklen_t *addrlen分别用来返回连接对方进程的协议地址和地址长度*/ ----------------------------------------- /*getsockname*/ #include<sys/socket.h> int getsockname (int sockfd,struct sockaddr *localaddr,socklen_t *addrlen) /*sockfd 参数为socket调用返回的socket描述符*/ /*localaddr和addrlen分别用来返回与socket关联的本地协议地址和地址长度*/ -------------------------------------------- /*getpeername*/ #include<sys/socket.h> int getpeername (sockfd,struct sockaddr *peeraddr,scklen_t *addrlen); /*sockfd----socket的描述符*/ /*peeraddr和addrlen分别用来返回与socket关联的远程协议地址和长度地址*/ -------------------------------------------- /*shutdowm*/ #include<sys/socket.h> int shutdowm (int sockfd,int howto); /*sockfd-------socket的,描述符*/ /*howto--------指定shutdown的方法*/ -------------------------------------------- /*close*/ #include<sys/socket.h> int close(int sockfd); end!! |
地主 发表时间: 02/24 00:17 |
回复: nhaiming [nhaiming] 论坛用户 | 登录 |
完全看不懂!!请问怎么样才能看懂呀?? |
B1层 发表时间: 02/24 15:49 |
回复: cimsxiyang [cimsxiyang] 版主 | 登录 |
socket()----应用进程用它来创建一个新的指定类型的插口. bind() ----将一个本地的协议地址和插口联系起来,一般来说,作为客户的进程不会去关心它的本地地址是什么,在这种情况下,进程在通信之前没有必要调用bind(),内核会自动为其选择一个本地地址 connect()-----建立一条与服务器的连接.如果进程在调用connect()之前没有调用bind(),来绑定本地地址,那么内核会选择并且隐式地绑定一个地址到插口. listen()------通知协议进程准备接受插口上连接请求,因此,它只用于tcp服务器 accept()------等待客户端的连接请求 getsockname()------获取与插口相关联的本地协议地址 getpeername()-------获取与插口关联的远程协议地址 shutdown()-----------按指定方式来关闭插口的read 通道,write通道或者是读写通道. close()------关闭插口,终止tcp连接 ----------------------------------------------------------- end |
B2层 发表时间: 02/24 16:28 |
回复: fubin [fubin] 论坛用户 | 登录 |
好厉害呀 我好崇拜你呀 你 是干什么的呀 能说吗 |
B3层 发表时间: 02/25 11:16 |
回复: cimsxiyang [cimsxiyang] 版主 | 登录 |
一个爱好网络的菜鸟 :) |
B4层 发表时间: 02/25 12:59 |
|
20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon
粤ICP备05087286号