① java 如何从收到的socket中取得IP
java中从Socket中获取IP地址通过Socket的getInetAddress()方法即可获得Socket中的Ip地址。其中Socket中还可以通过getLocalAddress()获取Socket绑定的本地地址。
② mfc socket客户端怎么知道服务器的ip
因为Client是通信的主动方,即发起通信的一端,因此通信之前Client必须已知Server的IP和端口号才行。
通常的C/S模式通信的做法是先为Server申请公网IP,然后在client编程时指明欲连接的Server的IP和端口号,这样的client程序一旦安装后就内置了Server的IP;
另一种做法是在client的执行界面预留输入框,执行时允许用户输入Server的IP,然后实现通信,这两种方式都必须事先知道server的IP信息才行。
③ 想要用socket连接一个另一个网络中的内网地址如何知道他的ip
通常内网地址DMZ区,通常无法直接访问。
需要中间有服务器中转。
如果能控制另一个网络路由器,可以做端口指向,这个有点麻烦。
就是你的IP是192.168.1.10,网关是192.168.1.1,另一个网络IP是192.168.2.10,网关是192.168.2.1
192.168.1.1和192.168.2.1可能是一个L2的不同网口,也可能是一个服务器的两个网卡。
情况不一样,做法不一样。
④ 怎么获取socket ip 地址
你是想知道代码还是想了解原理,一般的C/S模型都由客户端发出连接请求(客户端在代码中都是存有服务器端的具体ip地址和端口信息(也就是服务器端的INET协议族地址结构)的),当客户端发送连接请求后,服务器端通过accpet函数接收连接请求,accpet函数示例:accept(ServerSocket,(structsockaddr*)&from,&len)(from是一个INET协议族地址结构变量,(structsockaddr*)的作用是把INET协议族地址结构强制转换为通用地址结构),accpet函数在接收连接的同时会把客户端的具体ip和端口信息赋值给from,所以说客户端socket连接的ip(非绑定的话客户机随机绑定ip和端口)是包含在连接报文数据里,服务器端只有接收到客户端发送的连接信息后,才会获得客户端的ip和端口信息,获得具体ip的方式是通过函数,这个函数可以提取出IPv4地址结构中的点分十进制地址,函数用法:inet_ntoa(from.sin_addr)。
⑤ c#socket 服务器中怎么获得外网ip
1)如果socket采用的是TCP协议,则在执行Connect方法时指定外网的IP和端口//假设外网的IP地址为218.93.121.156socket.Connect(IPAddress.Parse("218.93.121.156"),10001);2)如果socket采用的UDP协议,则在执行SendTo方法时指定外网地址和
⑥ 如何通过Socket获得所有客户端连接的IP地址
如果服务器端要获取客户端ip的话:
//假设socket(),bind(),listen()函数已经完成addrlen
=
sizeof(client);connetfd
=
accept(listenfd,(struct
sockaddr
*)&client,&addrlen);那么client.sin_port
就是客户端的端口
client.sin_addr.s_addr
就是客户端的ip。
这两个都是以网络字节序来保存的,如果要printf的话需要先转化为主机字节序
⑦ C#用Socket怎么得到请求客户端的IP地址
在
服务器端
利用一个SOCKET开始侦听----也就是调用他的ACCEPT()之后,ACCEPT接收到请求会返回一个SOCKET,创建一个SOCKET引用就收这个SOCKET,再看他的REMOTEENDPOINT属性就是了
⑧ vb.net socket中的当客户端连接Server的时候怎么取得客户端的IP地址
1.绑定的ip是服务器的ip地址,服务器是固定的,客户端连接的是一个已知的服务器端。
2.客户端的话,连接到服务器时,服务器accept后,就可以获得客户端的连接信息,包括ip地址和端口。
我是学c的,在c语言中,socket->bind->listen->accept->....,在accept函数中有选项,如下caddr结构体中就存有accept后客户端的ip地址
连接端口和传输方式等信息,clientsock[1]则为accept新的描述符,如你程序中soc2一样
。
clientsock[1]
=
accept(sfd,(struct
sockaddr*)&caddr,&len);
vb中应该也有类时的函数,你网上好好找一下,或者看看相关书籍.
⑨ 如何获得Socket连接客户端的IP地址
如果服务器端要获取客户端ip的话:
//假设socket(),bind(),listen()函数已经完成
addrlen=sizeof(client);
connetfd=accept(listenfd,(structsockaddr*)&client,&addrlen);
那么client.sin_port 就是客户端的端口
client.sin_addr.s_addr 就是客户端的ip。
这两个都是以网络字节序来保存的,如果要printf的话需要先转化为主机字节序
⑩ Socket如何获得接入客户端的真正IP和端口
import socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind(('127.0.0.1', 8888))
s.listen(1)
conn, addr = s.accept()
print conn, addr
#<socket._socketobject object at 0x0312CAE8> ('127.0.0.1', 2134)
#addr 第一个为客户端ip,第二个为端口,上面的程序是tcp服务,udp类似。