socket指定伺服器ip
㈠ java中,serversocket如何綁定雲伺服器外網IP
Client端直接創建socket的時候指定伺服器ip和埠號public class Client {private Socket socket;private BufferedReader input ;public void getConnect() throws Exception{//獲得伺服器鏈接,第一個參數是IP地址,第二個參數是埠號socket = new Socket("127.0.0.1", 8080);//獲得輸入流,這里會拋出異常input = new BufferedReader(new InputStreamReader(socket.getInputStream()));/* * 這里是你自己寫獲得數據即可 * */input.close();//可以選擇是否關閉鏈接socket.close();}}
㈡ Java socket 如何 綁定指定的ip和埠號
Sockets=newSocket(ip,port);
然後就可以用s來和伺服器進行通信了
㈢ 如何給ServerSocket綁定到指定IP地址,埠號
在一台機器里設有多個IP地址時,要ServerSocket只在特定的IP上偵聽。1.ServerSocket綁定一個特定IP,在一台機器里運行多個ServerSocket程序,PORT相同源碼天空,IP不同。2.ServerSocket綁定多個特定IP,當和CLIENT連接時,能夠偵測出CLIENT連接Se...
㈣ socket中bind函數綁定的IP是什麼
所謂bind,就是指綁定本地接受埠。
指定ip,是為了分辨多ip主機。
bind是服務端調用的函數,綁定的是服務端的IP,假設服務端有多個網卡,即會有多個IP,這個時候我們可以選擇用bind綁定其中一個IP,那麼服務端只接收該IP上某埠的數據。
如果bind綁定的是INADDR_ANY,即表示所有發送到伺服器的這個埠,不管是哪個網卡/哪個IP地址接收到的數據,都由這個服務端進程進行處理。
㈤ 怎麼用socket指定想要接收的IP發送的數據包
接收指定IP的數據包,其他IP都要過濾吧,那就用防火牆來搞吧
使用的是client段的獲取方式,用client的可以指定IP,代碼大概如下
public void SendMessage()
{
ASCII = Encoding.ASCII;
// 構造用於發送的 位元組緩沖.
Byte[] sendBytes = ASCII.GetBytes(SEND_MESSAGE);
// 構造用於接收的 位元組緩沖.
Byte[] recvBytes = new Byte[256];
// IP地址.
IPAddress localAddr = IPAddress.Parse("192.168.19.81");
// 接入點.
IPEndPoint ephost = new IPEndPoint(localAddr, PORT);
// 第一個參數:AddressFamily = 指定 Socket 類的實例可以使用的定址方案。
// Unspecified 未指定地址族。
// InterNetwork IP 版本 4 的地址。
// InterNetworkV6 IP 版本 6 的地址。
//
// 第二個參數:SocketType = 指定 Socket 類的實例表示的套接字類型。
// Stream 一個套接字類型,支持可靠、雙向、基於連接的位元組流,而不重復數據,也不保留邊界。
// 此類型的 Socket 與單個對方主機通信,並且在通信開始之前需要建立遠程主機連接。
// 此套接字類型使用傳輸控制協議 (Tcp),AddressFamily 可以是 InterNetwork,也可以是 InterNetworkV6。
//
// 第三個參數:ProtocolType = 指定 Socket 類支持的協議。
// Tcp 傳輸控制協議 (TCP)。
Socket s = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
try
{
// 嘗試連接主機.
s.Connect(ephost);
//Console.WriteLine("向伺服器發送到了:{0}", SEND_MESSAGE);
// 向主機發送數據.
// s.Send(sendBytes, sendBytes.Length, SocketFlags.None);
// 接收伺服器的應答.
Int32 bytes = s.Receive(recvBytes, recvBytes.Length, SocketFlags.None);
StringBuilder buff = new StringBuilder();
// while (bytes > 0)
// {
// 將緩沖的位元組數組,裝換為字元串.
// String str = ASCII.GetString(recvBytes, 0, bytes);
String str = "";
for (int i = 0; i < recvBytes.Length; i++)
{
str = str + recvBytes[i];
}
int iCount = 0;
iCount = int.Parse(str.Substring(13, 6)) ;
// 加入字元串緩存
buff.Append(str);
// 再次接受,看看後面還有沒有數據.
//bytes = s.Receive(recvBytes, recvBytes.Length, SocketFlags.None);
// }
textBox1.Text = iCount.ToString();
}
catch (Exception ex)
{
MessageBox.Show("連接/發送/接收過程中,發生了錯誤!");
MessageBox.Show(ex.Message);
//Console.WriteLine("連接/發送/接收過程中,發生了錯誤!");
//Console.WriteLine(ex.Message);
//Console.WriteLine(ex.StackTrace);
}
finally
{
s.Close();
}
}
㈥ 怎樣指定ServerSocket中的IP 地址
在一台機器里設有多個IP地址時,要ServerSocket只在特定的IP上偵聽。 1.ServerSocket綁定一個特定IP,在一台機器里運行多個ServerSocket程序, PORT相同源碼天空,IP不同。 2.ServerSocket綁定多個特定IP,當和CLIENT連接時,能夠偵測出CLIENT 連接ServerSocket哪個特定IP。 -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- 不會。IIS的虛擬主機不就可以。不同的IP。一樣的PORT。 -------------------------------------------------------------------------------- 我問了一下一個搞VC的,答案是用不著, 一台機器上的serversocket, 會監聽 本機上所有的IP地址,不用你自己來區分, client請求過來時會自動區分的, 如果你想知道具體client連接的是哪個IP地址,可以用getHostbyname(可能 是這個函數)獲得自己具體的IP. -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- Server 的地址不管它就行了 -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- 到其它有關ServerSocket的問題去看看即可 -------------------------------------------------------------------------------- 可以嗎?我要的是SERVER IP -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- to Another_eYes: 因為他的機器上有多個IP. --------------------------------------------------------------------------------
㈦ java里socket客戶端怎麼自動綁定伺服器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的伺服器對象。並且建立了輸入流和輸出流,分別對應伺服器的輸出和客戶端的寫入。
㈧ 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發送的數
在客戶/伺服器通信模式中, 伺服器端需要創建監聽埠的 ServerSocket, ServerSocket 負責接收客戶連接請求。ServerSocket並不能直接向客戶端發送數據。 通常做法是,ServerSocket接收到一個連接請求