实验十一网络编程.docx
《实验十一网络编程.docx》由会员分享,可在线阅读,更多相关《实验十一网络编程.docx(23页珍藏版)》请在优知文库上搜索。
1、嵌入式操作系统应用开发课程实验报告级:*号:*指导老师:*旅京*京*京成 绩,实验十一网络编程一、目的与任务目的:r解掌握网络编程的特点与功能,学会借助网络系统的功能函数进行 编程。任务:利用c语言指令编写程序调用网络系统函数,完成相应网络访问功 能。二、内容、要求与安排方式1、实验内容与要求:1)利用地址处理函数访问网络地址以及编程实现域名与IP估息解析.2)实现UDpnt与组播通信功能.3)练习版始套接口基本应用。2,实照安排方式;采用1人1级,上机在LinUx系统下进行编程实验,三、程序清单(I )TCP服务器和TCP客户端通信1.1 服务器代码:/include #includc #i
2、nclude /include #includc #include int main()int SoCkfd,clienUd;以OCk_fd-监听套接字描述符:ClienLS-连接套接字描述符struct Sockaddjin my_addr: 本机地址struct sock add ri n remote_addr; 客户端地址创建套接字if (sockfd = SOCket(AF_1NET, SOCK_STREAM. 0) =-l)Ipeor( socket);exit(l);设置地址端口可重用int val=l;SCIS(KkOPl( sockf(J, SOL-SOCKET. SO-RE
3、USEADDR. (char*)&val. sizeof(val);设置本地地址信息my_addr.sin JatniIy=AFJNET;协议族my_addr.sin_port=htons(3333);端 my_addr.sin_addr.s_addr=inet_addr( 127.0.0.1):/1P 地址bzero(&(n)y_addr.sin_zero),8);填充 0绑定地址到套接字描述符上if(hind(sockfd. (struct sockaddr *)&my_addr, sizeo(struct sockaddr)= -1) Perror(bind,; cxit(l);)在地址
4、端口上监听if (liscn(sockfd. 10) = - I)Ipcor(listen);cxit(l);等待客户端连接,如果有客户端连接,则产生新的连接套接字int sin-size = sizeof(struct SOCkaddjin);if(client_fd = accet(socklj, (struct sockaddr *)&reinote_addr,&sin_size)=-DIPClTOr(accept);cxit(l);输出客户端IP地址rintf(received a connection from %sn. inet_ntoa(remote_addr.sin_addr)
5、: 向客户端发送欢迎信息if (scnd(clicnt.fd. Hello, you arc connected!n. 26.0) = - I)PCrroreSCIKrXClOSe(CIienLfd);exit(2);关闭连接套接字cloe(client-M);关闭监听套接字Close(SockId);return 0;)1.2 客户端代码:#includc #include #includc #includc #include #includc int nain(int argc, char *argv) int sockfd. rccvbytcs:char bu10();struct ho
6、s(cnt *host;struct sockaddr_in SCrV_addr:创建套接字if (sockM = socket(h,!NET. SOCK_STREAM. 0) = -l)pcor( socket);exit(l):设置服务器地址结构体serv_addr.sin_fainily=AF_INET;scrv_addr.sin_p)rt=htons(3333);serv_addr.sin_addr.s_addr=inet_addr(l 27.0.0. ,);bzero(&(ser v-addr.s i n-zero),8);向服务器发起连接if (connect(sockfd, (s
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 十一 网络 编程
