回覆列表
  • 1 # 不忘初心繼續前進144738137

    用socket建立網路程式設計介面------檔案描述符。 “地方”定義了,下面就需要將socket放置在這個“地方”(TCP),將他們緊緊地捆綁在一起,用bind函式吧, 我們來看看函式原型:

    int PASCAL FAR bind (SOCKET s, const struct sockaddr FAR *addr, int namelen);

    第一個引數當然是待繫結的套接字啦,第二個引數是標識繫結在哪個“地方”, 第三個引數是這個“地方”的佔地大小。

    返回值表示繫結操作是否成功,0表示成功, -1表示不成功。函式的返回值千萬不要忽視,上次就被人說了。

    一般是這麼呼叫的:

    iRet = bind(sockSrv,(SOCKADDR*)&addrSrv, sizeof(SOCKADDR)); // 注意強制轉換

    我們來對比一下檔案I/O操作和網路I/O操作: 開啟一個檔案後, 便可以對檔案進行讀寫操作了, 但是, 網路I/O實際上有三個步驟來完成這個功能:

    1. 開啟/建立socket

    2. 命名socket, 我們知道, socket名稱包含"協議, ip地址, 埠號"這三個要素, 而命名就是透過呼叫bind函式把socket與這三個要素繫結一起來。

  • 中秋節和大豐收的關聯?
  • 涼皮大料水配方?