这是客户端,它提示用户输入字符串并将其发送到服务器
//send
printf("\nPlaintext : ");
gets(send_data);
send(sock,send_data,strlen(send_data), 0);
//recv
bytes_recieved = recv(sock, recv_data, 1024, 0);
recv_data[bytes_recieved] = '\0';
printf("\nEnciphered text = %s " , recv_data);
fflush(stdout);
close(sock);
这是服务器端。
sin_size = sizeof(struct sockaddr_in);
//accept
connected = accept(sock, (struct sockaddr *)&client_addr,&sin_size);
printf("\n I got a connection from (%s , %d)", inet_ntoa(client_addr.sin_addr), ntohs(client_addr.sin_port));
//recv
bytes_recieved = recv(connected, recv_data, 1024,0);
recv_data[bytes_recieved] = '\0';
printf("\n RECIEVED DATA = %s " , recv_data);
cod = encipher(recv_data, key, 1); //printf("Code: %s\n", cod);
dec = encipher(cod, key, 0); //printf("Back: %s\n", dec);
//send
send(connected, cod, strlen(cod), 0);
send(connected, dec, strlen(dec), 0);
所以问题是,我想从客户端发送两个名为“plaintext”和“key”的字符串。在服务器端,我希望它接收两个字符串并在 encipher() 函数下对其进行处理,然后将其发送回客户端。
如何从客户端发送两个字符串并从服务器接收两个字符串?