回覆列表
  • 1 # lanfengz1

    注:host是在之前定義過的一個ip地址

    這個一個客戶端的部分程式碼,原始碼本來是:

    //tcpClient = new TcpClient(AddressFamily.InterNetwork);//獲得本機的ip地址。

    執行時沒有錯誤,但是我不想這裡指定本機ip,我想指定一個固定的伺服器ip,所以講其註釋掉改成:

    tcpClient = new TcpClient(host,52888);host為我指定的ip

    上面是你理解的有問題。

    第一:tcpClient = new TcpClient(AddressFamily.InterNetwork);這句話不是獲得本機的ip地址,而是要建立一個使用ip版本4的定址方案的TcpClient物件。這時只是定義這個物件,並沒有建立連線

    第二:tcpClient = new TcpClient(host,52888);這句程式碼的意思是建立一個連線到host和其埠52888的連線,在建立時就已經連線上了。這裡的host指的是你要連線的伺服器IP地址。此時在建立時已經建立連線了,所以在使用BeginConnect非同步呼叫時,丟擲一個【在一個已經建立連線的套接字上做一個連線請求。

    你理解上面的內容,應該就可以解決你的問題了。

  • 中秋節和大豐收的關聯?
  • 你們對於經常借錢的朋友,是怎麼相處的?還聯絡嗎?