没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
linux 网络编程常用函数详解与实例(socket-->bind-->listen-->accept)
常用的网络命令:
netstat
命令 netstat 是用来显示网络的连接,路由表和接口统计等网络的信息.netstat 有许多的选项我们常用的
选项是 -an 用来显示详细的网络状态.至于其它的选项我们可以使用帮助
telnet
telnet 是一个用来远程控制的程序,但是我们完全可以用这个程序来调试我们的服务端程序的. 比如我
们的服务器程序在监听 8888 端口,我们可以用 telnet localhost 8888 来查看服务端的状况.
网络函数描述和实例:
int socket(int domain, int type,int protocol)
domain:说明我们网络程序所在的主机采用的通讯协族(AF_UNIX 和 AF_INET 等). AF_UNIX 只能够用
于单一的 Unix 系统进程间通信,而 AF_INET 是针对 Internet 的,因而可以允许在远程主机之间通信
type:我们网络程序所采用的通讯协议(SOCK_STREAM,SOCK_DGRAM 等) SOCK_STREAM 表明我
们用的是 TCP 协议,这样会提供按顺序的,可靠,双向,面向连接的比特流. SOCK_DGRAM 表明我们用
的是 UDP 协议,这样只会提供定长的,不可靠,无连接的通信.
protocol:由于我们指定了 type,所以这个地方我们一般只要用 0 来代替就可以了
socket 为网络通讯做基本的准备.成功时返回文件描述符,失败时返回-1,看 errno 可知道出错的详细情况
int bind(int sockfd, struct sockaddr *my_addr, int addrlen)
sockfd:是由 socket 调用返回的文件描述符.
addrlen:是 sockaddr 结构的长度.
my_addr:是一个指向 sockaddr 的指针. 在中有 sockaddr 的定义
struct sockaddr{
unisgned short as_family;
char sa_data[14];
};
不过由于系统的兼容性,我们一般不用这个头文件,而使用另外一个结构(struct sockaddr_in) 来代替.在
中有 sockaddr_in 的定义
struct sockaddr_in{
unsigned short sin_family;
unsigned short int sin_port;
struct in_addr sin_addr;
unsigned char sin_zero[8];}
我们主要使用 Internet 所以 sin_family 一般为 AF_INET,sin_addr 设置为 INADDR_ANY 表示可以和任
何的主机通信,sin_port 是我们要监听的端口号.sin_zero[8]是用来填充的. bind 将本地的端口同 socket
资源评论
G11176593
- 粉丝: 6623
- 资源: 3万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Screenshot_20240416_202154_com.baidu.netdisk.jpg
- 天气预报爬虫 (WeatherCrawler) 介绍:这个脚本可以爬取天气预报网站上的天气信息,如温度、湿度、风速等,并打印出来
- ticket.jpeg
- 邮件爬虫 (EmailCrawler) 介绍:这个脚本可以爬取特定网页上的电子邮件地址,并打印出来
- 电商爬虫 (EcommerceCrawler) 介绍:这个脚本可以爬取电商网站上的商品信息,如商品名称、价格等,并打印出来
- 论坛爬虫 (ForumCrawler) 这个脚本可以爬取论坛上的帖子标题和链接,并打印出来
- 第十五届蓝桥杯单片机第一场代码
- Python 正则表达式.docx
- 微博爬虫 (WeiboCrawler) 介绍:这个脚本可以爬取微博用户的最新微博内容,并打印出来
- 介绍:这个脚本可以爬取新闻网站上的新闻标题和链接,并打印出来
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功