① 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類似。