UNIX网络编程学习(8)--服务器端显示客户端的IP地址和端口号
来源:互联网 发布:mac无u盘安装win10 编辑:程序博客网 时间:2024/05/01 11:28
#include"unp.h"#include<time.h>intmain(int argc, char **argv){intlistenfd, connfd;socklen_t len;struct sockaddr_inservaddr,cliaddr;charbuff[MAXLINE];time_tticks;listenfd = Socket(AF_INET, SOCK_STREAM, 0);bzero(&servaddr, sizeof(servaddr));servaddr.sin_family = AF_INET;servaddr.sin_addr.s_addr = htonl(INADDR_ANY);servaddr.sin_port = htons(10086);/* daytime server */Bind(listenfd, (SA *) &servaddr, sizeof(servaddr));Listen(listenfd, LISTENQ);for ( ; ; ) { len=sizeof(cliaddr);connfd = Accept(listenfd, (SA *) &cliaddr, &len);printf("connection from %s,port %d\n", Inet_ntop(AF_INET,&cliaddr.sin_addr,buff,sizeof(buff)), ntohs(cliaddr.sin_port)); ticks = time(NULL); snprintf(buff, sizeof(buff), "%.24s\r\n", ctime(&ticks)); Write(connfd, buff, strlen(buff));Close(connfd);}}
其中,包裹函数Inet_ntop为:
//wraplib.c
/* * Wrapper functions for our own library functions. * Most are included in the source file for the function itself. */#include"unp.h"const char *Inet_ntop(int family, const void *addrptr, char *strptr, size_t len){const char*ptr;if (strptr == NULL)/* check for old code */err_quit("NULL 3rd argument to inet_ntop");if ( (ptr = inet_ntop(family, addrptr, strptr, len)) == NULL)err_sys("inet_ntop error");/* sets errno */return(ptr);}voidInet_pton(int family, const char *strptr, void *addrptr){intn;if ( (n = inet_pton(family, strptr, addrptr)) < 0)err_sys("inet_pton error for %s", strptr);/* errno set */else if (n == 0)err_quit("inet_pton error for %s", strptr);/* errno not set *//* nothing to return */}
- UNIX网络编程学习(8)--服务器端显示客户端的IP地址和端口号
- 【unix网络编程】4-11显示客户IP地址和端口号的时间获取服务程序
- unix网络基础-显示客户IP地址和端口号的时间获取服务器程序
- UNIX网络编程练习-获取客户端IP和端口
- UNIX网络编程----TCP客户端和服务器端
- UNIX网络编程----UDP客户端和服务器端
- TCP/IP网络编程 学习笔记_3 --给套接字分配IP地址和端口号
- Java网络编程:ip地址和端口
- 网络编程Tcp的客户端和服务器端
- UNIX环境编程学习笔记-----编程实例------一个简单的服务器端和客户端程序
- 客户端和服务器端的IP、MAC地址等的获取
- TCP IP网络编程1 简单的回声服务器端、客户端
- boost显示本地和远程的IP地址、端口号
- 基于TCP/IP的套接字服务器端和客户端编程
- Linux c==网络编程的理论知识-dns端口和IP地址的作用(29)
- Beej的网络编程入门教程 第四篇 IP地址和端口
- 为什么客户端不需要绑定IP地址和端口号
- 服务器端和客户端IP地址及MAC地址获取
- 数字图像处理之频率域图像增强
- 股票买卖
- jQuery基础
- 超轻量级的Gow,替代cgwin
- cin,cout,以及其返回值
- UNIX网络编程学习(8)--服务器端显示客户端的IP地址和端口号
- [gpu pro3]CryEngine3:ThreeYearsOfWorkInReview
- CGAL::output_surface_facets_to_polyhedron
- 算法分类
- 杭电1251 统计难题 字典树的应用
- WIn7修复开机引导解决无法正常启动
- C++中static_cast、const_cast、reinterpret_cast的用法举例,附带举例说明强制类型转换时int和int&的区别
- 演化算法(一) 基本概念
- 颜色空间,图像格式,彩色转灰度函数