Advertisement
Guest User

Untitled

a guest
Apr 26th, 2020
407
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.29 KB | None | 0 0
  1. /***************************************************************************/
  2. #include <sys/socket.h>
  3. #include <sys/types.h>
  4. #include <netinet/in.h>
  5. #include <netdb.h>
  6. #include <stdio.h>
  7. #include <string.h>
  8. #include <stdlib.h>
  9. #include <unistd.h>
  10. #include <errno.h>
  11. #include <arpa/inet.h>
  12. /**e************************************************************************/
  13. int lib_tcp_socket;
  14. /***************************************************************************/
  15. static unsigned int lib_tcp_port;
  16. /**h************************************************************************/
  17. extern int lib_tcp_setPort(char *port)
  18. {
  19.     lib_tcp_port=atoi(port);
  20. }
  21. /**h************************************************************************/
  22. extern int lib_tcp_connect(char *adress)
  23. {
  24.     struct sockaddr_in serv_addr;
  25.  
  26.     lib_tcp_socket = 0;
  27.  
  28.     if((lib_tcp_socket = socket(AF_INET, SOCK_STREAM, 0)) < 0)
  29.     {
  30.         printf("\n Error : Could not create socket \n");
  31.         return 3;
  32.     }
  33.  
  34.     memset(&serv_addr, '0', sizeof(serv_addr));
  35.  
  36.     serv_addr.sin_family = AF_INET;
  37.     serv_addr.sin_port = htons(lib_tcp_port);
  38.  
  39.     if(inet_pton(AF_INET, adress, &serv_addr.sin_addr)<=0)
  40.     {
  41.         struct hostent *he;
  42.         if ((he=gethostbyname(adress)) == NULL)  /* get the host info */
  43.         {
  44.             printf("\n gethostbyname error occured\n");
  45.             return 2;
  46.         }
  47.         serv_addr.sin_addr = *((struct in_addr *)he->h_addr);
  48.     }
  49.  
  50.     if( connect(lib_tcp_socket, (struct sockaddr *)&serv_addr, sizeof(serv_addr)) < 0)
  51.     {
  52.        printf("\n Error : Connect Failed \n");
  53.        return 1;
  54.     }
  55.  
  56.     return 0;
  57. }
  58. /**h************************************************************************/
  59. extern int lib_tcp_read(char *recvBuff, int sizeBuff)
  60. {
  61.     int n = read(lib_tcp_socket, recvBuff, sizeBuff);
  62.  
  63.     return n;
  64. }
  65. /**h************************************************************************/
  66. extern int lib_tcp_send(char *sendBuff, int sizeBuff)
  67. {
  68.     int n = send(lib_tcp_socket , sendBuff , sizeBuff , 0);
  69.  
  70.     return n;
  71. }
  72. /**h************************************************************************/
  73. extern int lib_tcp_close()
  74. {
  75.     return close(lib_tcp_socket);
  76. }
  77. /***************************************************************************/
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement