1.綁定的ip是服務(wù)器的ip地址,服務(wù)器是固定的,客戶端連接的是一個已知的服務(wù)器端。
創(chuàng)新互聯(lián)公司成立于2013年,先為榆社等服務(wù)建站,榆社等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為榆社企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
2.客戶端的話,連接到服務(wù)器時,服務(wù)器accept后,就可以獲得客戶端的連接信息,包括ip地址和端口。
我是學(xué)c的,在c語言中,socket-bind-listen-accept-....,在accept函數(shù)中有選項,如下caddr結(jié)構(gòu)體中就存有accept后客戶端的ip地址
連接端口和傳輸方式等信息,clientsock[1]則為accept新的描述符,如你程序中soc2一樣
。
clientsock[1]
=
accept(sfd,(struct
sockaddr*)caddr,len);
vb中應(yīng)該也有類時的函數(shù),你網(wǎng)上好好找一下,或者看看相關(guān)書籍.
做exe程序獲取本機IP地址用
System.Net.Dns.GetHostByName(System.Net.Dns.GetHostName()).AddressList
做web程序獲取客戶端的IP地址用
HttpContext.Current.Request.ServerVariables("REMOTE_ADDR"])
我找了一些C# 的VB。NET 貌似很少不過都是。NET 平臺。你看看吧都應(yīng)該通用的。
添加對System.Management的引用
using System.Management;
。。。
//獲取IP,子網(wǎng)掩碼(subnet mask)和默認(rèn)網(wǎng)關(guān)
ManagementClass mc = new ManagementClass( "Win32_NetworkAdapterConfiguration ");
ManagementObjectCollection nics = mc.GetInstances();
foreach(ManagementObject nic in nics)
{
if(Convert.ToBoolean(nic[ "ipEnabled "]) == true)
{
Console.WriteLine((nic[ "IPAddress "] as String[])[0]);
Console.WriteLine((nic[ "IPSubnet "] as String[])[0]);
Console.WriteLine((nic[ "DefaultIPGateway "] as String[])[0]);
}
}
獲取硬件信息源代碼:
獲取硬件信息演示程序:
漢化
利用using System.Management類來獲取相應(yīng)的硬件知識
其實這類東西很容易找到答案的,方法非常多,最常見的API模式,你去搜索吧,保證一把一把的
你最好可以換臺電腦訪問網(wǎng)址看獲取IP地址狀況。
如果你測試訪問的時候,使用的是 localhost 進(jìn)行訪問的,那么服務(wù)器端獲得的也就是127.0.0.1,因為localhost是一個環(huán)路地址,特殊的.如果你是通過你的ip地址進(jìn)行訪問的,那么獲得的IP地址就會是正確的了. 要通過自己本地的IP進(jìn)行訪問,在控制面板的網(wǎng)絡(luò)連接里找到本地連接,查看它的屬性,并找到"詳細(xì)信息"按鈕,點擊后彈出的對話框中IPV4地址就是本地地址.或打開命令行,輸入 ipconfig /all 即可找到本地地址.在瀏覽器中通過這個IP地址訪問,就不會是127.0.0.1了.
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim cc() As System.Net.IPAddress = System.Net.Dns.GetHostEntry(System.Net.Dns.GetHostName()).AddressList
Dim str As String = ""
For Each ws In cc
str = str ws.ToString vbCrLf
Next
MsgBox(str)
End Sub