阅读背景:

如何创建用于接收数据的线程

来源:互联网 
tcp_socket()
{
      sock = socket(AF_INET , SOCK_STREAM , 0);

      if (sock == -1)
      {
          printf("Could not create socket\n");
      }
      puts("Socket created.......\n");

      server.sin_addr.s_addr = inet_addr("172.210.110.10");
      server.sin_family = AF_INET;
      server.sin_port = htons(PORT);

      //Connect to remote server
      con= connect(sock , (struct sockaddr *)&server , sizeof(server));

      if(con<0)
      {
          perror("connect failed. Error\n");
          return con;
      }

      puts("Connected\n");

      err = pthread_create(&tid, NULL,reciever_port,(int*)sock);
                  if (err != 0)
          printf("\ncan't create thread :[%s]", strerror(err));
                  else
          printf("\n Thread created successfully\n");


      return 1;
  }


  void *reciever_port(int sockid)
  {
        unsigned char inbuf[MAX_REQUEST_LINES]="";

        while(1)
        {
            memset(inbuf, 0, sizeof(inbuf));
            rc=recv(sockid , inbuf , 1024 , 0);

            if(rc<0)
            {
                puts("waiting .........\n");
                exit(0);
            }
            else
            {
                for(i=0;i<rc;i++)
                {
                    printf("%c",inbuf[i]);
                }   
            }
tcp_socket()
{
      sock = socket(AF_INET , SO



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: