fixed client and server (and added more)
This commit is contained in:
parent
4b575cf3b9
commit
68f3bf78de
@ -39,7 +39,7 @@ int main(int argc, char *argv[]) {
|
||||
puts("payload sent");
|
||||
|
||||
char response[2048];
|
||||
if (recv(sock, response, 2048, 0)) {
|
||||
if (recv(sock, response, 2048, 0) < 0) {
|
||||
puts("receive failed");
|
||||
return 4;
|
||||
}
|
||||
|
||||
@ -6,8 +6,11 @@
|
||||
|
||||
void tcpServer() {
|
||||
int serverSocket, clientSocket;
|
||||
long read_size;
|
||||
unsigned long addressLength;
|
||||
struct sockaddr_in serverAddress, clientAddress;
|
||||
char quote[MESSAGE_STRING_LENGTH] = "";
|
||||
char clientMessage[MESSAGE_STRING_LENGTH] = "";
|
||||
|
||||
serverAddress.sin_family = AF_INET;
|
||||
serverAddress.sin_addr.s_addr = INADDR_ANY;
|
||||
@ -30,15 +33,30 @@ void tcpServer() {
|
||||
puts("server listening");
|
||||
|
||||
addressLength = sizeof(struct sockaddr_in);
|
||||
clientSocket = accept(serverSocket, (struct sockaddr *) &clientAddress, (socklen_t *) addressLength);
|
||||
while ((clientSocket = accept(serverSocket, (struct sockaddr *) &clientAddress, (socklen_t *) &addressLength)) >= 0) {
|
||||
puts("client connected");
|
||||
|
||||
/*receive data*/
|
||||
while ((read_size = recv(clientSocket, clientMessage, MESSAGE_STRING_LENGTH, 0))) {
|
||||
if (read_size < 0) {
|
||||
puts("receive failed");
|
||||
} else {
|
||||
printf("client says: %s\n", clientMessage);
|
||||
|
||||
/*send data*/
|
||||
getRandomQuote(quote);
|
||||
printf("responding: \"%s\"\n", quote);
|
||||
write(clientSocket, quote, strlen(quote));
|
||||
}
|
||||
}
|
||||
|
||||
puts("client disconnected");
|
||||
}
|
||||
|
||||
if (clientSocket < 0) {
|
||||
puts("client connection failed");
|
||||
exit(3);
|
||||
}
|
||||
puts("client connected");
|
||||
|
||||
write(clientSocket, "test", strlen("test"));
|
||||
// TODO: listen and respond
|
||||
}
|
||||
|
||||
void udpServer() {
|
||||
|
||||
@ -12,6 +12,10 @@
|
||||
#include <string.h>
|
||||
#include <stdio.h>
|
||||
|
||||
#include "quote.h"
|
||||
|
||||
#define MESSAGE_STRING_LENGTH 2048
|
||||
|
||||
void tcpServer();
|
||||
|
||||
void udpServer();
|
||||
|
||||
Loading…
Reference in New Issue
Block a user