#include #include #include #include #include #include #include #include #include #define IP "localhost" #define PORT "8888" int main(void) { struct sockaddr_in socketaddr; int socketfd, nHostPort; int err, i, unit; char buff[4096]; char * _xml = (char)NULL, * xml_connect = {""}; _xml = (char *)malloc(sizeof(xml_connect)); if ( (nHostPort = strtol(PORT, 0, 10)) == 0 ) { printf("\n\n\n"); printf("\ncould not make a socket\n"); return 0; } socketfd = socket(AF_INET, SOCK_STREAM, 0); socketaddr.sin_family = AF_INET; socketaddr.sin_addr.s_addr = INADDR_ANY;//inet_addr(IP); socketaddr.sin_port = htons(nHostPort); //printf("::: %d\n\n\n", fcntl( socketfd, F_SETFL, fcntl( socketfd, F_GETFL ) & ~O_NONBLOCK )); //printf("::: %d\n\n\n", fcntl( socketfd, F_SETFL, fcntl( socketfd, F_GETFL ) & O_NONBLOCK )); err = connect(socketfd, (struct sockaddr*)&socketaddr, sizeof(socketaddr)); if ( err < 0 ) { printf("Socket returned error #%d,program terminated\n", err); exit(0); } sprintf(_xml, xml_connect, "localhost"); write(socketfd, _xml, strlen(_xml)); read (socketfd, buff, sizeof(buff)); printf("%s\n\n", buff); exit(0); }