在调用bind函数是,可以指定一个端口号,或指定一个IP地址,也可以两者都指定,还可以都不指定。 服务器在启动时捆绑它们的众所周知端口。如果一个TCP客户或服务器未曾调用bind捆绑一个端口,当调用connect或listen时,内核就要为相应的套接字选择一个临时端口。
socket编程中的bind()函数把IP地址端口相关信息和套接字相互关联起来。使用格式
#include <sys/types.h>
#include <sys/socket.h>
int bind(int sockfd, const struct sockaddr *addr,socklen_t *addrlen)
功能描述
当用socket()函数创建套接字以后,套接字在名称空间(网络地址族)中存在,但没有任何地址给它赋值。bind()把用addr指定的地址赋值给用文件描述符代表的套接字sockfd。addrlen指定了以addr所指向的地址结构体的字节长度。一般来说,该操作称为“给套接字命名”。
通常,在一个SOCK_STREAM套接字接收连接之前,必须通过bind()函数用本地地址为套接字命名。
备注:
调用bind()函数之后,为socket()函数创建的套接字关联一个相应地址,发送到这个地址的数据可以通过该套接字读取与使用。
备注:
bind()函数并不是总是需要调用的,只有用户进程想与一个具体的地址或端口相关联的时候才需要调用这个函数。如果用户进程没有这个需要,那么程序可以依赖内核的自动的选址机制来完成自动地址选择,而不需要调用bind()函数,同时也避免不必要的复杂度。在一般情况下,对于服务器进程问题需要调用bind()函数,对于客户进程则不需要调用bind()函数。
国内通用的114DNS,IP地址是114.114.114.114和114.114.115.115 。
DNS是用来将域名解析成IP地址的,如果填错了肯定不能正常上网的。
首先你要知道你网络服务商的dns是多少,具体可以打电话查询。知道地址以后。如下操作:右键网上邻居,点属性,本地连接,属性,找到tcp\ip协议双击,在里边把你得到的数添加上。
dns是解析IP时使用的,如果dns错误,直接用域名是访问不到的网站的。
有些软件不需要用DNS,像QQ,它是直接使用IP的。
一般情况下用户会使用网络提供商提供的DNS,但也可以使用公用的DNS。
比如222.85.85.85 222.88.88.88等。
使用路由上网,DNS是路由通过ADSL获取的服务提供商的DNS。
所以可以不用设置,也可以设置为你的路由的IP 。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)