欢迎来到天天文库
浏览记录
ID:37911920
大小:356.00 KB
页数:15页
时间:2019-06-02
《C标准库函数练习(网络)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、移动互联网C语言标准库练习培训系列C语言标准库练习移动互联网第一开发部2009-05-2515移动互联网C语言标准库练习培训系列第1章前言1.使用C语言函数库的方法:l需要关注:函数的功能,入口参数(类型,个数),函数的返回值(正确返回值,错误返回值),有时还需要关注错误码值的含义;l需要了解:函数声明所在的头文件,功能类似的相关函数;l必须写测试函数进行熟悉其用法,以及对返回值的判断;l最重要的是验证此函数满足你的需求;2.本文档主要介绍进程间通讯(IPC)的基础知识,需要各位在平时搜集资料并多编程了解:l何谓进程或者线程,如何才能实现多进程;l
2、进程间通讯常用的“介质”或者常用的方式有哪些;l进程间是如何利用“介质”进行通讯的;l进程间通讯“介质”(通讯方式)常用的属性或者特质有哪些;l什么是守护进程或者精灵进程,它们是如何实现的;l……(有待补充)3.本题库主要是以socket相关题目为主,其它各章节为辅,并辅以snoop抓包练习的路线,主要在socket相关题目中逐渐运用其它技术(如:多进程,信号等知识),并熟练运用;snoop抓包需要了解其使用方法,并能够熟练分析所抓包的各个字段含义等;4.……(有待补充)第2章Socket相关推荐书籍或资料:(资料的具体路径在:\10.10.12
3、.126新员工培训电子书)基础资料:《LinuxC编程一站式学习》《Linux操作系统下C语言编程入门》15移动互联网C语言标准库练习培训系列……(有待补充)参考书籍:《LinuxC函数库详解词典》《UNIX网络编程(1,2卷)》《UNIX环境高级编程》《SunSolaris多线程编程指南》……(有待补充)1.1基础篇1.1.1服务端程序例子/**gcc-osamp_serversamp_server.c-lsocket-lnsl*/#include#include#incl
4、ude#include#include#include#include#include#defineMYPROT3490/*服务器监听端口号*/#defineBACKLOG10/*最大同时连接请求数*/intmain(){intsockfd,new_fd;/*监听socket:sockfd,数据传输socket:new_fd*/structsockaddr_inserv_addr;/*本机地址信息*/str
5、uctsockaddr_inclnt_addr;/*客户地址信息*/intsin_size=0;intpid=0;15移动互联网C语言标准库练习培训系列intstat=0;staticunsignedintcount;char*sd_str="Hello,MIDisabestdepartmentofNeusoft!";/*建立网际字节流套接字*/sockfd=socket(AF_INET,SOCK_STREAM,0);if(-1==sockfd){/*错误检测*/perror("socket");exit(1);}/*设置socket相关信息*
6、/serv_addr.sin_family=AF_INET;/*置地址族为AF_INET*/serv_addr.sin_port=htons(MYPROT);/*如果等于0则随机选择一个端口*/serv_addr.sin_addr.s_addr=INADDR_ANY;/*系统填入本机IP地址*/bzero(&serv_addr,sizeof(structsockaddr_in));/*初始化serv_addr.sin_zero为0*//*绑定端口*/stat=bind(sockfd,(structsockaddr*)&serv_addr,sizeo
7、f(structsockaddr));if(-1==stat){/*错误检测*/perror("bind");exit(1);}/*监听端口*/stat=listen(sockfd,BACKLOG);if(-1==stat){/*错误检测*/perror("listen");exit(1);}/*mainaccept()loop*/while(1){printf("server[%u]:Waitting[%u].......",getpid(),++count);sin_size=sizeof(structsockaddr_in);/*
8、接受连接请求,并且建立一个新的Socket描述符*/new_fd=accept(sockfd,(structsockadd
此文档下载收益归作者所有