127.0.0.1 + 回送地址
阿新 • • 發佈:2019-02-18
編輯本段操作方法
在“執行”程式中輸入“cmd”命令,然後再彈出的對話方塊中輸入“ping 127.x.x.x”,再按回車鍵。編輯本段實際應用
我們分兩部分介紹如下: 一、我們可以Ping回送地址。通常如果回送地址Ping不通,就說明IP堆疊出了故障。如果不通的話,表明網路出了問題。 例如:我們在命令列執行ping 127.0.0.1 ,以檢查主機的TCP/IP協議是否安裝並正常工作,如下: c:\>ping 127.0.0.1 Pinging 127.0.0.1 with 32 bytes of data: Reply from 127.0.0.1: bytes=32 time<1ms TTL=128 Reply from 127.0.0.1: bytes=32 time<1ms27.0.0.1用於測試回送(loopback)地址
[1] TTL=128 Reply from 127.0.0.1: bytes=32 time<1ms TTL=128 Reply from 127.0.0.1: bytes=32 time<1ms TTL=128 Ping statistics for 127.0.0.1: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Appro\eximate round trip time= in milli-seconds: Minimum = 0ms, Maximum = 0ms, Average = 0ms c:\> 二、主要用於網路軟體測試以及本地機程序間通訊,無論什麼程式,一旦使用回送地址傳送資料,例如我們可以IP地址127.0.0.1和埠4001作為引數執行程式。127.0.0.1是一個回送地址,被分配給回送介面。回送介面是一個僅能被本地主機上執行的程式所訪問的邏輯介面。實際上大部分系統都將localhost作為127.0.0.1的別名。測試例項如下: TCP伺服器(server1. c) 1 /* 2 * server1.c 3 * 4 * Create TCP server socket, accept 5 * one TCP client connection using 6 * socket(), bind(), listen() and 7 * accept(). 8 * 9 * foster <[email protected]> 10 */ 11 12 #include <stdio.h> 13 #include <sys/types.h> 14 #include <sys/socket.h> 15 #include <netinet/in.h> 16 17 int 18 main (int argc, char *argv[]) 19 { 20 struct sockaddr_in sin ; 21 struct sockaddr_in csin; 22 socklen_t len = sizeof(struct sockaddr); 23 short port = 0; 24 int csock = 0; 25 int sock = 0; 26 int ret = 0; 27 28 if(argc != 2) 29 { 30 printf("usage: %s: port\n", argv[0]); 31 return(1); 32 } 33 34 port = atoi(argv[1]); 35 36 sock = socket(AF_INET, SOCK_STREAM, 0); 37 if(sock < 0) 38 { 39 printf("TCP server socket() failed.\n"); 40 return(1); 41 } 42 43 memset(&sin, 0x0, sizeof(struct sockaddr_in *)); 44 45 sin.sin_family = AF_INET; 46 sin.sin_port = htons(port); 47 sin.sin_addr.s_addr = INADDR_ANY; 48 49 ret = bind(sock, (struct sockaddr *)&sin, 50 (struct sockaddr)); 51 if(ret < 0) 52 { 53 printf("TCP server bind() failed.\n"); 54 close (sock); 55 return(1 ); 56 } 57 58 ret = listen(sock, 5); 59 if(ret < 0) 60 { 61 printf("TCP server listen() failed.\n"); 62 close (sock); 63 return(1 ); 64 } 65 66 printf("TCP server listening.\n"); 67 68 memset(&csin, 0x0, sizeof(struct sockaddr)); 69 70 csock = accept(sock, (struct sockaddr *)&csin, &len); 71 if(csock < 0) 72 { 73 printf("TCP server accept() failed.\n"); 74 } 75 else 76 { 77 printf("TCP server: TCP client connection " \ 78 "on port %d.\n", port); 79 close(csock); 80 } 81 82 close(sock); 83 84 return(0); 85 }