- 1、本文档共12页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验十一 网编程
《嵌入式操作系统应用开发》
课程实验报告
班 级: ****************
学 号: *************
姓 名:**************
指导老师: ***************
成 绩:
实验 网络一、目的与任务
目的:了解掌握网络编程的特点与功能,学会借助网络系统的功能函数进行编程。
任务:利用C语言指令编写程序调用网络系统函数,完成相应网络访问功能。
二、内容、要求与安排方式
1、实验内容与要求:
1)利用地址处理函数访问网络地址以及编程实现域名与IP信息解析 。
2)实现UDP广播与组播通信功能。
3)练习原始套接口基本应用 。
2、实验安排方式:采用1人1组,上机在inux系统下进行编程实验。
、#include stdlib.h
#include stdio.h
#include errno.h
#include string.h
#include netdb.h
#include sys/types.h
#include netinet/in.h
#include sys/socket.h
#include arpa/inet.h //inet_ntoa()函数的头文件
#define portnumber 3333 //定义端口号:(0-1024为保留端口号,最好不要用)
int main(int argc, char *argv[])
{
int sockfd,new_fd;
struct sockaddr_in server_addr; //描述服务器地址
struct sockaddr_in client_addr; //描述客户端地址
int sin_size;
char hello[]=Hello! Are You Fine?\n;
/* 服务器端开始建立sockfd描述符 */
if((sockfd=socket(AF_INET,SOCK_STREAM,0))==-1) // AF_INET:IPV4;SOCK_STREAM:TCP
{
fprintf(stderr,Socket error:%s\n\a,strerror(errno));
exit(1);
}
/* 服务器端填充 sockaddr结构 */
bzero(server_addr,sizeof(struct sockaddr_in)); // 初始化,置0
server_addr.sin_family=AF_INET; // Internet
server_addr.sin_addr.s_addr=htonl(INADDR_ANY); // (将本机器上的long数据转化为网络上的long数据)和任何主机通信 //INADDR_ANY 表示可以接收任意IP地址的数据,即绑定到所有的IP
//server_addr.sin_addr.s_addr=inet_addr(192.168.1.1); //用于绑定到一个固定IP,inet_addr用于把数字加格式的ip转化为整形ip
server_addr.sin_port=htons(portnumber); // (将本机器上的short数据转化为网络上的short数据)端口号
/* 捆绑sockfd描述符到IP地址 */
if(bind(sockfd,(struct sockaddr *)(server_addr),sizeof(struct sockaddr))==-1)
{
fprintf(stderr,Bind error:%s\n\a,strerror(errno));
exit(1);
}
/* 设置允许连接的最大客户端数 */
if(listen(sockfd,5)==-1)
{
fprintf(stderr,Listen error:%s\n\a,strerror(errno));
exit(1);
}
while(1)
{
/* 服务器阻塞,直到客户程序建立连接 */
sin_size=sizeof(struct sockaddr_in);
if((new_fd=accept(sockfd,(struct sockaddr *)
文档评论(0)