程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C >> 關於C >> Beej’s Guide Network to Programming 系列連載17

Beej’s Guide Network to Programming 系列連載17

編輯:關於C

5.10. getpeername() ---你是誰?
       這個函數太簡單了。

它太簡單了,以至我都不想單列一章。但是我還是這樣做了。函數 getpeername() 告訴你在連接的流式套接字上誰在另外一邊。函 數是這樣的:

#include<sys/socket.h>

intgetpeername(int sockfd, struct sockaddr *addr, int *addrlen);

sockfd 是連接的流式套接字的描述符。addr是一個指向結構 struct sockaddr (或者是 structsockaddr_in) 的指針,它保存著連接的另一邊的 信息。addrlen 是一個 int 型的指針,它初始化為 sizeof(struct sockaddr)。

函數在錯誤的時候返回-1,設置相應的 errno。

一旦你獲得它們的地址,你可以使用 inet_ntoa() 或者 gethostbyaddr() 來打印或者獲得更多的信息。但是你不能得到它的帳號。(如果它運行著愚蠢的守護進程,這是可能的,但是它的討論已經超出了本文的范圍,請參 考 RFC-1413 以獲得更多的信息。)

 摘自 xiaobin_HLJ80的專欄

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved