?? client.cpp
字號:
#include <stdio.h>#include <netinet/in.h>#include <netinet/tcp.h>#include <sys/socket.h>#include <errno.h>#include <netdb.h>#include <stdlib.h>#include <unistd.h>#include <pthread.h>#include <termios.h>#include <string.h>//char g_center_host[16] = "10.128.226.221";char g_center_port[8] = "8003";//int connect_to_center(int trynum,int wait_second);int tcp_connect2(const char *host, const char *serv);int main(int argc, int *argv[]){/* if (argc<3) { printf( "para too few!\n" ); return -1; }// */ int ret; ret = connect_to_center( 10, 1 ); //usleep(10 * 1000 *1000 ); close( ret ); }int tcp_connect2(const char *host, const char *serv){ struct sockaddr_in addr; struct hostent *hostaddr; int s; int reuse; int port; char str[256]; int len; port=atoi(serv); port =8003; s = socket(AF_INET, SOCK_STREAM, 0); if (s == -1) return -1; hostaddr=gethostbyname(host); if(!hostaddr) { return -1; } bzero(&addr,sizeof(addr)); addr.sin_family = AF_INET; addr.sin_port = htons(port); addr.sin_addr.s_addr = htonl(INADDR_ANY); memcpy(&addr.sin_addr.s_addr,hostaddr->h_addr,hostaddr->h_length); //inet_ printf( "connecting .................! " ); if (connect(s, (struct sockaddr *) &addr, sizeof(addr)) == -1) { close(s); printf( "connecting failur! \n" ); return -1; } //printf( "swrite: 12345\n" ); send( s, "12345", 6, 0 ); /*printf( "recv...\n" ); len = recv( s, str, 256, 0 ); if (len>0) printf( "recive: %s\n", str ); usleep( 100 ); printf( "write: quit\n" ); send( s, "quit", 5, 0 );*/ return (s);}int connect_to_center(int trynum,int wait_second){ int fd,i=0; for(;;) { printf( "count: %d\n", i ); fd = tcp_connect2(g_center_host, g_center_port); if(fd > 0) { printf( "connect success.\n" ); //printf( "write: hello\n" ); //write ( fd, "hello", 6 ); return fd; } printf( "connect failed!\n" ); if(trynum == -1 || i++ < trynum) { sleep(wait_second); continue; } else break; } return fd;}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -