On 5/1/2011 1:34 AM, derleader mail wrote:
I'm going to use stream protocol - TCP/IP. Here is the template source
code of the server without the encryption part
We mean application protocol.
while (1) {
sock = accept(listensock, NULL, NULL);
printf("client connected to child thread %i with pid %i.\n",
pthread_self(), getpid());
nread = recv(sock, buffer, 25, 0);
buffer[nread] = '\0';
printf("%s\n", buffer);
send(sock, buffer, nread, 0);
close(sock);
printf("client disconnected from child thread %i with pid %i.\n",
pthread_self(), getpid());
}
}
This code isn't very helpful. It just reads and writes the very same
data. Nothing in this code tells us, for example, how to identify a
complete message.
You could interpose an encryption protocol that also imposed no such
requirements. You would need to work out your own padding though.
Blowfish is a block encryption algorithm and cannot encrypt just a
single byte. So if you only read one byte, you'd need to pad it before
encryption and then you'd need some way to remove the padding on the
other end.
I would strongly urge you to just use SSL. It is designed for *exactly*
this purpose.
DS
______________________________________________________________________
OpenSSL Project http://www.openssl.org
User Support Mailing List [email protected]
Automated List Manager [email protected]