网络编程
xiaoshengqdlg
这个作者很懒,什么都没留下…
展开
-
gethostbyname()函数说明
gethostbyname()函数说明——用域名或主机名获取IP地址 包含头文件 #include #include 函数原型 struct hostent *gethostbyname(const char *name); 这个函数的传入值是域名或者主机名,例如"www.google.cn"等等。传出值,是一个hostent转载 2014-04-16 16:42:43 · 484 阅读 · 0 评论 -
sendto函数深入理解
send和sendto函数在UDP层没有输出缓冲区,在TCP层有输出缓冲区,recv和recvfrom无论在UDP层还是TCP层都有接收缓冲区。注意在server和client端绑定IP时没有注明sockaddr的sin_addr只是赋值了sin_port时,表示不管从哪个IP接收的或者发送的只要端口是sin_port都发送或者接收。至于IP地址由系统选择。这部分详见《UNIX网络编程》第8章原创 2014-07-28 20:19:27 · 25199 阅读 · 0 评论 -
cgi
http://www.programfan.com/article/2858.htmlhttp://222.30.226.10/hhcmc/study/teach_vc/teach_sp_11.htmhttp://www.moon-soft.com/program/bbs/readelite887957.htm一、CGI概述 CGI(Common Gateway转载 2014-08-15 15:44:07 · 457 阅读 · 0 评论 -
in_addr与sockaddr
123structin_addr { in_addr_t s_addr;};结构体in_addr 用来表示一个32位的IPv4地址.in_addr_t 一般为 32位的unsigned int,其字节顺序为网络顺序(network byte ordered),即该无符号整数采用大端字节转载 2014-04-17 09:26:46 · 988 阅读 · 0 评论 -
LINUX的Netlink机制
Netlink 是一种特殊的 socket,它是 Linux 所特有的,类似于 BSD 中的AF_ROUTE 但又远比它的功能强大,目前在最新的 Linux 内核(2.6.14)中使用netlink 进行应用与内核通信的应用很多,包括:路由 daemon(NETLINK_ROUTE),1-wire 子系统(NETLINK_W1),用户态 socket 协议(NETLINK_USERSOCK),防火转载 2014-08-25 19:16:15 · 548 阅读 · 0 评论 -
getsockname函数
用来返回套接字的本地IP地址。转载 2014-04-24 13:14:05 · 5032 阅读 · 0 评论 -
客户端用不用bind的区别
无连接的socket的客户端和服务端以及面向连接socket的服务端通过调用bind函数来配置本地信息。使用bind函数时,通过将my_addr.sin_port置为0,函数会自动为你选择一个未占用的端口来使用。 Bind()函数在成功被调用时返回0;出现错误时返回"-1"并将errno置为相应的错误号。需要注意的是,在调用bind函数时一般不要将端口号置为小于1024的值,因为1到1024转载 2014-07-03 11:23:24 · 1312 阅读 · 0 评论 -
工作笔记 nanosleep()函数
原型:#include int nanosleep(const struct timespec *req, struct timespec *rem);说明:此函数将调用进程挂起,直到 req 里所指的时间结束。req 是 struct timespec 结构体的指针。struct timespec 结构体定义如下:struct timespec {原创 2014-04-30 12:55:42 · 1174 阅读 · 0 评论 -
select函数用法
原型int select(int nfds,fd_set* readfds,fd_set* writefds,fd_set* exceptfds,const struct timeval* timeout);nfds:本参数忽略,仅起到兼容作用。 readfds:(可选)指针,指向一组等待可读性检查的套接口。 writefds:(可选)指针,转载 2014-04-24 14:37:19 · 510 阅读 · 0 评论 -
UDP的connect函数
from对于linux网络编程,我们都知道UDP是发送数据报,不是面向连接的协议,也就是它只是把数据报发送到链路层,至于能不能到达目的IP和端口,他都无能为力了。而且,我们只要在sendto函数中指定你要发送的端口和IP地址就可以了,我们不用绑定端口和IP。但是,如果对UDP进行connect函数的调用,会发生什么现象呢?那么,connect函数是连接外部的IP和端口,一般转载 2014-04-22 16:28:58 · 513 阅读 · 0 评论 -
面向报文UDP和面向字节流TCP的区别
面向报文的传输方式是应用层交给UDP多长的报文,UDP就照样发送,即一次发送一个报文。因此,应用程序必须选择合适大小的报文。若报文太长,则IP层需要分片,降低效率。若太短,会是IP太小。UDP对应用层交下来的报文,既不合并,也不拆分,而是保留这些报文的边界。这也就是说,应用层交给UDP多长的报文,UDP就照样发送,即一次发送一个报文。面向字节流的话,虽然应用程序和TCP的交互是一次一个数据块(转载 2014-04-18 11:02:18 · 1628 阅读 · 0 评论 -
TCP之深入浅出send和recv(经典)
摘要 send、recv的缓冲区与tcp流量控制之间的关系目录[-]需要理解的3个概念1. TCP socket的buffer2. 接收窗口(滑动窗口)TCP连接建立之时的收端的初始接受窗口大小是14600,细节如图2所示(129是收端,130是发端) 图 2转载 2014-04-18 10:35:25 · 843 阅读 · 0 评论 -
Linux下getsockopt/setsockopt 函数说明
from:http://blog.csdn.net/xioahw/article/details/4056514【 getsockopt/setsockopt系统调用】 功能描述: 获取或者设置与某个套接字关联的选 项。选项可能存在于多层协议中,它们总会出现在最上面的套接字层。当操作套接字选项时,选项位于的层和选项的名称必须给出。为了操作套接字层转载 2014-04-17 09:42:16 · 409 阅读 · 0 评论 -
Linux操作系统中主机名Hostname详细介绍
主机名是用于什么的呢?在一个局域网中,每台机器都有一个主机名,用于主机与主机之间的便于区分,就可以为每台机器设置主机名,以便于以容易记忆的方法来相互访问。比如我们在局域网中可以为根据每台机器的功用来为其命名。1、 什么是主机名:无论在局域网还是INTERNET上,每台主机都有一个IP地址,是为了区分此台主机和彼台主机,也就是说IP地址就是主机转载 2014-04-16 16:36:36 · 1022 阅读 · 0 评论 -
herror()错误信息打印
herror()Print the message associated with the value of h_errno to standard errorSynopsis:#include void herror( const char* prefix );Arguments:prefixNULL, or a string that yo转载 2014-04-16 17:01:33 · 1536 阅读 · 0 评论 -
从缓冲上看阻塞与非阻塞在发送和接受上的区别
最近在网络上看到一些帖子以及回复,同时又搜索了一些网络上关于阻塞非阻塞区别的描述,发现很多人在描述两者的发送接收时操作返回以及缓冲区处理的区别时有不同程度的误解。所以我想写一篇文章来纠正错误,并作为记录方便查阅,如有转载,注明作者(jwybobo2007)以及出处即可。 首先socket在默认情况下是阻塞状态的(未指异步操作以及其它一些特殊用途下,直接默认为非阻塞),这就使得发送以及接收转载 2014-07-29 18:02:22 · 700 阅读 · 0 评论