diff --git a/Client.cpp b/Client.cpp new file mode 100644 index 0000000..a4901c4 --- /dev/null +++ b/Client.cpp @@ -0,0 +1,74 @@ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "Board.h" +using namespace std; + +void error(const char *msg) +{ + perror(msg); + exit(0); +} + +int main(int argc, char *argv[]) +{ + int sockfd, portno, n; + struct sockaddr_in serv_addr; + struct hostent *server; + + + if (argc < 3) { + fprintf(stderr,"usage %s hostname port\n", argv[0]); + exit(0); + } + portno = atoi(argv[2]); + sockfd = socket(AF_INET, SOCK_STREAM, 0); + if (sockfd < 0) + error("ERROR opening socket"); + server = gethostbyname(argv[1]); + if (server == NULL) { + fprintf(stderr,"ERROR, no such host\n"); + exit(0); + } + bzero((char *) &serv_addr, sizeof(serv_addr)); + serv_addr.sin_family = AF_INET; + bcopy((char *)server->h_addr, + (char *)&serv_addr.sin_addr.s_addr, + server->h_length); + serv_addr.sin_port = htons(portno); + if (connect(sockfd,(struct sockaddr *) &serv_addr,sizeof(serv_addr)) < 0) + error("ERROR connecting"); + + char buffer[256]; + char info[256]; + + while(true) { + + bzero(buffer,256); //resets the input stream + n = read(sockfd,buffer,255); //Receives the board from server + printf("%s\n",buffer);//Prints the received message + + printf("Please enter a move: "); + bzero(buffer,256); //resets input stream + fgets(buffer,255,stdin); //Enter a move + n = write(sockfd,buffer,strlen(buffer)); //Sends an input to the server + + bzero(info,256); //resets input stream + n = read(sockfd,info,255); + string ref = info; + if(ref == "Game_Over") { + cout << "GAME OVER!!!" << endl; + break; + } + else if() + + } + close(sockfd); + return 0; +}