资源预览内容
第1页 / 共52页
第2页 / 共52页
第3页 / 共52页
第4页 / 共52页
第5页 / 共52页
第6页 / 共52页
第7页 / 共52页
第8页 / 共52页
第9页 / 共52页
第10页 / 共52页
亲,该文档总共52页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
Linux 下的网络编程入门,Linux 下的网络编程入门网SOcketbindconnectlistenacceptselectTecv, TecvfromSend, sendtoclose, shutdown 获取/设置socket的参数或信息gethostbyaddr, gethostbyname gethostnamegetpeernamegetprotobymianie, geiprotobynumDeigetservbyname, getservbyportgetsocknamegetsockopt, setsockoptioctl转换函数。卫地址转换一inet addrO一inet_ntoa()。字节了顺序转换一htons(O-Host to Network Short一htonlO-Hostto Network Long”一ntohsO-Network to Host Short一ntohlO-Network to Host Long” 数据结构: sockaddrstruct Sockaddr unsigned short sa_family, 洗 address family,AF XXX 拓char Sa_ dataf 14, 人* 14 bytes:ofprotiocol address /上此数据结构用做bind、connect、recvfrom、sendto等函数的参数,指明地址信息 数据结构: sockaddr instruct Sockaddr in short int sin_family: 从Address family 尖/unsigned short int sin_ port 上/涯 Port number 尖/struct in_ addqr sin addr 信Tnaternetaddress 兴/unsigned char sin_ zero 8, 翌 Same Size asstruct Sockaddr 尖/卢该结构与sockaddr兼容,供用户填入参数 数据结构: in addrstruct in addr unsigned long s_addr劳 这个数据结构是由于历史原因保留下来的,主要用作与以前的格式兼容。 程序中实际上只填写sockaddr im结构 struct sockaddr in my_addr;my _addrsin_ family = AF_INET;my_addrsin_port = htons(3490), 翌short NBOY/my _addrsim addrs_ addr =inet addr(0132.241.5.107);bzero(&(my _addr.sin_zero), 8) 注意: sin_addr.s_addr填本机IP,如果此项填INADDR_ANY时,表示自动取本机耳填入该项(仅用于ServerD函数简介: socketSocket描述符与Linux中的文件描述符类似,也是一个int型的变量函数调用:一 intsocketfint domain, int type, int protocolY:- 函数返回Socket搞述符,返回-1均示出错- domain参数只能取AF_INET, protocol参数一般取0应用示例:一 TCP: sockfd = socket(AF INET.SOCK _ STREAM.0);- UDP: sockfd =socket(AF INET, SOCKE DGRAM.0); 函数简介: bind。作为Server程序,需要与一个端口绑定intbind(int sockfd, struct sockaddr *my_addr, int addrlen); bind函数返回-1表示出错,最常见的错误是该端口已经被其他程序绑定。需要注意的一点: 在Linux系统中,1024以下的端口具有拥有root权限的程序才能绑定
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号