是不是IP地址有冲突我的当前ip地址,呵呵修改办法如下:右键点网上邻居,选择属性,然后弹出网络连接框,里面有一个是你的internet连接,最常用的名字是:本地连接找到他之后,右键点它,选择属性会弹出一个网络连接属性的框在中间一个”此连接使用下列项目”这个框里找到internet协议(tcp/ip)鼠标点他一下,然后点属性按钮然后就弹出IP地址 子网掩码 网关等等,你只需要把你的IP地址最后面三个数字修改一下就行了,例如192代备案。 168。1。222 是你的IP地址,你可以修改成0-255之间任意的数,当然前提是这些数字都没有人使用,你可以分别试一下。 —另外,如果你是那种情况,就是自动获得IP地址的话,那么你得断开网络重新连接一下,再看看配送给你的IP地址有没有冲突,如果还是有冲突,你只能联系网络管理员,要一下你的DNS 子网 网关这些内容,然后自己设置IP地址了。我的当前ip地址,我的当前IP地址有误了该怎么办 方向有点不对。获取本机IP地址,一般是不通过socket这个途径,当然这个途径可以获得地址,但一般不会这么做。你可以查下getsockbyname这个函数。至于这里为啥会显示0。0。0。0,可能是你在SOCKET理解上有点出入。 my_addr。sin_addr。s_addr在不一样的情形有不一样的含义,假如是TCP监听套接口,则它的含义是比较的标准,而不是本机的IP。例如你的机器,它有多个地址,首先127。0。0。1是它的回路地址,本机可以通过127。 0。0。1来访问自己。其次他可能有一个内部局域网地址,例如说是192。168。1。5,局域网络(互联网)上机器都可以通过这个地址访问你的机器。还有可能你的机器有一个外网地址,例如202。101。56。3,internet上的机器都可以通过这个地址访问你的机器。 接下来说下my_addr。sin_addr。s_addr的含义:假如你创建了TCP监听套接口,并且你执行的是 my_addr。sin_addr。s_addr赋值为127。0。0。1,意思就是仅有目的地址为127。 0。0。1的包才会被监听套接口获取,这就是一种后果,由于127。0。0。1是回路地址,根本就不会出网卡,假如其它机器输入127。0。0。1最后会被送回自己本机,包根本就不会到达你的机器,也就是这种接口只可以接受自己本地的包。假如内网的机器发送包目的地址是你的局域网地址192。 168。1。5,并且端口也是你这个套接口监听的端口,可惜的是这个端口只收目的地址是127。0。0。1的包,192。168。1。5的包会被丢弃。这种接口最终结果就是只收本机的包。假如绑定的是192。168。1。5的地址,则任何目的地址是192。 168。1。5的包都会被接受(当然端口必须是一致)。这种只可以局域网络(互联网)上的机器包会被你的端口收到,外网则不成,原因很容易,外网的192。168。1。5的包是不可能通过路由到达你的机器。假如是你的外网地址,则同理任何外网地址到达的包都会被收到。 假如是INADDR_ANY,则意思就是不管目的地址是啥,都会被你接受。可能有点不可思议,但放心,路由器不会让啥地址的包都会到达你的主机的。总之就是这个是监听的标准,而不是你的IP,你甚至可以把它设置成他人的IP地址,但可惜的是他人的IP地址的包,路由器是不会转发给你的,因此你啥都不会收到。 (至少在当今以太网作为局域网的天下你是收不到的,路由器不转发。不知道令牌环网或其它的局域网会怎样,当然即使是以太网也可以用ip欺骗的技术,这有点扯远了)。不知道我说请不清楚。
本文出自快速备案,转载时请注明出处及相应链接。