如何让python服务器将recvline转换为字符串?

如何让python服务器将recvline转换为字符串?,python,c,string,client,Python,C,String,Client,如何将客户端的输入从服务器转换为字符串或其他数据类型。我的服务器可以从客户端打印recvline,但无法将其识别为常见数据类型 void timing() { for (long i = 0; i < 200000000; i ++){ printf(""); } } int main(int argc, char **argv){ int i; int sockfd; struct sockaddr_in servaddr; char

如何将客户端的输入从服务器转换为字符串或其他数据类型。我的服务器可以从客户端打印recvline,但无法将其识别为常见数据类型

void timing()
{
   for (long i = 0; i < 200000000; i ++){
      printf("");
   }
}

int main(int argc, char **argv){
  int   i;
  int sockfd;
  struct sockaddr_in    servaddr;
  char sendline[MAXLINE];
  char recvline[MAXLINE];

  time_t start, finish, final;
  start = clock();
  timing(); // a function that takes a differential time based on the client
  finish = clock();
  final = (finish - start) /  CLOCKS_PER_SEC;
  printf("timing: %ld\n", final);

  if (argc != 2){
      perror("usage: tcpcli <IPaddress>");
      exit(-1);
  }

  sockfd = socket(AF_INET, SOCK_STREAM, 0);

  bzero(&servaddr, sizeof(servaddr));
  servaddr.sin_family = AF_INET;
  servaddr.sin_port = htons(SERV_PORT);
  inet_pton(AF_INET, argv[1], &servaddr.sin_addr);

  connect(sockfd, (struct sockaddr *) &servaddr, sizeof(servaddr));

  char ** temp = NULL;
  char * timing = NULL;
  strtol(timing, temp, final); //***Problem here
  write(sockfd, timing, 5);
  bzero(recvline, MAXLINE);
  if (read(sockfd, recvline, MAXLINE) == 0){ //reads from server
          perror("Server terminated!");
          exit(-1);
      }

  fputs(recvline, stdout);
void计时()
{
对于(长i=0;i<200000000;i++){
printf(“”);
}
}
int main(int argc,字符**argv){
int i;
int-sockfd;
servaddr中的结构sockaddr_;
字符发送线[MAXLINE];
字符接收线[MAXLINE];
开始、结束、结束的时间;
开始=时钟();
timing();//一个函数,它根据客户机使用不同的时间
完成=时钟();
最终=(完成-开始)/每秒时钟;
printf(“计时:%ld\n”,最终);
如果(argc!=2){
perror(“用法:tcpcli”);
出口(-1);
}
sockfd=套接字(AF_INET,SOCK_STREAM,0);
bzero(&servaddr,sizeof(servaddr));
servaddr.sin_family=AF_INET;
servaddr.sin_port=htons(SERV_port);
inet\u pton(AF\u inet,argv[1],&servaddr.sin\u addr);
connect(sockfd,(struct sockaddr*)&servaddr,sizeof(servaddr));
字符**temp=NULL;
字符*定时=空;
strtol(计时、温度、最终);//***这里有问题
写入(sockfd,定时,5);
bzero(recvline、MAXLINE);
if(read(sockfd,recvline,MAXLINE)==0){//从服务器读取
perror(“服务器终止!”);
出口(-1);
}
FPUT(回收线、标准件);

如果您发布代码并在那里解释这不是Python,您是否错误地标记了它?您可以发布Python代码,而不是c代码吗?strtol行对我来说没有任何意义-您将传递一个空字符串指针作为输入,它将尝试取消引用,可能会生成segfault/AV。另外,为什么您没有试图传递一个时间作为转换的基础?结果还是会被转储。你想做什么,将时间作为字符串传递?sprintf()调用对我来说更有意义?