ÃÑ ÆäÀÌÁö ¼ö : 3224
![]()
|
Facebook Joinc ±×·ì
Joinc QA »çÀÌÆ®
![]()
Tweet
joinc´Â Firefox¿Í chrome¿¡¼ Å×½ºÆ® Çß½À´Ï´Ù. IE¿¡¼´Â Å×À̺íÀÌ ±úÁö°Å³ª À̹ÌÁö°¡ º¸ÀÌÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù. ƯÈ÷ ±¸±Û DocsÀ̹ÌÁöÀÇ °æ¿ì ¿¢¹Úó¸®µÉ ¼ö ÀÖ½À´Ï´Ù. getpeername
¿¬°áµÈ »ó´ëÃø ¼ÒÄÏ ÁÖ¼Ò Á¤º¸¸¦ °¡Á®¿Â´Ù. »ç¿ë ¹ý#include <sys/socket.h> int getpeername(int sockfd, struct sockaddr *addr, socklen_t *addrlen); ¼³¸í
getpeernameÇÔ¼ö´Â ¼ÒÄÏ Áö½ÃÀÚ sockfd¿¡ ¿¬°áÇÑ »ó´ëÀÇ ÁÖ¼Ò Á¤º¸¸¦ °¡Á®¿Â´Ù. ÁÖ¼Ò Á¤º¸´Â addr·Î ³Ñ¾î¿Â´Ù. addrlen´Â addr±¸Á¶Ã¼ÀÇ Å©±â´Ù. ÇÔ¼ö°¡ ¹ÝȯµÈ ´ÙÀ½¿¡´Â °¡Á®¿Â addr ÀڷᱸÁ¶ÀÇ Å©±â °ªÀ» ¹ÙÀÌÆ®·Î µ¹·ÁÁØ´Ù. ¹Ýȯ
¼º°øÇϸé 0À» ½ÇÆÐÇϸé -1À» ¹ÝȯÇÑ´Ù. ¿¹Á¦#include <sys/types.h> #include <unistd.h> #include <fcntl.h> #include <stdlib.h> #include <stdio.h> #include <sys/socket.h> #include <netinet/in.h> #include <arpa/inet.h> int main() { int sockfd; int client_sockfd; int client_len; int state; struct sockaddr_in clientaddr, serveraddr, myaddr,test; if ((sockfd = socket(AF_INET, SOCK_STREAM, 0)) < 0) { perror("socket error : "); exit(0); } bzero(&serveraddr, sizeof(serveraddr)); serveraddr.sin_family = AF_INET; serveraddr.sin_addr.s_addr = htonl(INADDR_ANY); serveraddr.sin_port = htons(4444); state = bind(sockfd , (struct sockaddr *)&serveraddr, sizeof(serveraddr)); if (state == -1) { perror("bind error : "); exit(0); } state = listen(sockfd, 5); if (state == -1) { perror("listen error : "); exit(0); } client_len = sizeof(clientaddr); client_sockfd = accept(sockfd, (struct sockaddr *)&clientaddr, &client_len); // ·ÎÄà ¼ÒÄÏÀÇ Á¤º¸¸¦ ¾ò¾î¿Â´Ù. // ¾ð¾î¿Â Á¤º¸´Â myaddr ¿¡ ä¿öÁø´Ù. getpeername(client_sockfd, (struct sockaddr *)&myaddr, &client_len); // ¾ò¾î¿Â Á¤º¸¸¦ Ãâ·ÂÇÑ´Ù. printf("Port : %d\n", ntohs(myaddr.sin_port)); printf("address : %s\n", inet_ntoa(myaddr.sin_addr)); close(client_sockfd); return 1; }
·ÎÄà ¼ÒÄÏÀÇ ÁÖ¼Ò Á¤º¸´Â getsockname(2)ÇÔ¼ö·Î °¡Á®¿Ã ¼ö ÀÖ´Ù.
|
|
|
EmailÀ» ±âÀÔÇϸé, ´ñ±ÛÀÌ ¸ÞÀÏ·Î Àü´ÞµË´Ï´Ù. |
|