socket怎么知道服务器的ip
Ⅰ 怎么获取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)。
Ⅱ java 如何从收到的socket中取得IP
java中从Socket中获取IP地址通过Socket的getInetAddress()方法即可获得Socket中的Ip地址。其中Socket中还可以通过getLocalAddress()获取Socket绑定的本地地址。
Ⅲ 如何获得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的话需要先转化为主机字节序
Ⅳ mfc socket客户端怎么知道服务器的ip
因为Client是通信的主动方,即发起通信的一端,因此通信之前Client必须已知Server的IP和端口号才行。
通常的C/S模式通信的做法是先为Server申请公网IP,然后在client编程时指明欲连接的Server的IP和端口号,这样的client程序一旦安装后就内置了Server的IP;
另一种做法是在client的执行界面预留输入框,执行时允许用户输入Server的IP,然后实现通信,这两种方式都必须事先知道server的IP信息才行。
Ⅳ 用socket怎么获取本机ip
server = new SocketServer(3389);
Socket s = server.accept();
s.getInetAddress().getHostAddress()
Ⅵ 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中应该也有类时的函数,你网上好好找一下,或者看看相关书籍.