socket伺服器端ip
Ⅰ 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方法時指定外網地址和
Ⅱ php用socket獲得客戶端的ip和埠
socket_getpeername() 獲取遠程類似主機的ip地址
socket_getsockname() 獲取本地socket的ip地址
怎麼感覺你用的實際上是對的,難道用nginx一類的負載均衡伺服器了
Ⅲ 怎麼獲取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和埠號怎麼獲得
伺服器端的IP就是伺服器所使用IP,埠是程序設置的
也就是說這兩個信息需要通過參數設置(測試的話也可以用硬編碼)給伺服器端的程序用,然後把這個信息在再訴各個客戶端
java中的socket客戶端只需用伺服器所在機器的ip以及伺服器的埠作為參數創建一個Socket對象就可以了,客戶端的代碼可以看下實例:
Socket socket = new Socket("168.160.12.42",9998);
或:
Socket socket = new Socket(InetAddress.getLocalHost(),5678); // 向主機名為InetAddress.getLocalHost()的伺服器申請連接
客戶機必須知道有關伺服器的IP地址,對於著一點Java也提供了一個相關的類InetAddress 該對象的實例必須通過它的靜態方法來提供,它的靜態方法主要提供了得到本機IP 和通過名字或IP直接得到InetAddress的方法。
in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
out = new PrintWriter(socket.getOutputStream(),true);
以上的程序代碼建立了一個Socket對象,這個對象連接到ip地址為168.160.12.42的主機上、埠為9998的伺服器對象。並且建立了輸入流和輸出流,分別對應伺服器的輸出和客戶端的寫入。
Ⅵ Java編寫socket程序時,怎麼知道伺服器在整個網路上的IP地址
這個恐怕要到伺服器查才能知道~~就像玩私.服~伺服器改了IP~~會公布新IP給玩家更改客戶端的伺服器IP~~如果你的不是互聯網,而是區域網~就可以向你所在的區域網中所有IP都發個信息,那個有回應,那個就是伺服器~這是一個笨方法。。。
Ⅶ java中socket實現兩天電腦連接IP怎麼寫啊 求高手指點
Socket
分為伺服器端和客戶端
連接時,伺服器端用某個埠打開socket,然後監聽
客戶端用ip和埠連接,被接收則連接成功。
因此,伺服器端(你可以隨意指定一個電腦為伺服器端
)打開埠連接:
ServerSocket
serversocket
=
new
ServerSocket(port);
Socket
socket
=
serverSocket.accept();//監聽客戶端的連接
然後客戶端:
Socket
socket=new
Socket(ip,port);//這里的ip也可以用域名
希望對你有所幫助~