Page Menu
Home
ClusterLabs Projects
Search
Configure Global Search
Log In
Files
F4623554
tcpclient.c
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
2 KB
Referenced Files
None
Subscribers
None
tcpclient.c
View Options
/*
* Copyright (c) 2011 Red Hat, Inc.
*
* All rights reserved.
*
* Author: Angus Salkeld <asalkeld@redhat.com>
*
* libqb is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 2.1 of the License, or
* (at your option) any later version.
*
* libqb is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with libqb. If not, see <http://www.gnu.org/licenses/>.
*/
#include "os_base.h"
#ifdef HAVE_NETINET_IN_H
#include <netinet/in.h>
#endif /* HAVE_NETINET_IN_H */
#ifdef HAVE_ARPA_INET_H
#include <arpa/inet.h>
#endif /* HAVE_ARPA_INET_H */
#ifdef HAVE_NETDB_H
#include <netdb.h>
#endif /* HAVE_NETDB_H */
#ifdef HAVE_SYS_SOCKET_H
#include <sys/socket.h>
#endif /* HAVE_SYS_SOCKET_H */
int
main(int argc, char *argv[])
{
int sock;
int32_t res;
char send_data[1024];
char recv_data[1024];
char *newline;
struct sockaddr_in server_addr;
struct hostent *host = gethostbyname("127.0.0.1");
if ((sock = socket(AF_INET, SOCK_STREAM, 0)) == -1) {
perror("Socket");
exit(1);
}
server_addr.sin_family = AF_INET;
server_addr.sin_port = htons(5000);
memcpy(&server_addr.sin_addr, host->h_addr_list[0],
sizeof(server_addr.sin_addr));
bzero(&(server_addr.sin_zero), 8);
if (connect(sock, (struct sockaddr *)&server_addr,
sizeof(struct sockaddr)) == -1) {
perror("Connect");
exit(1);
}
while (1) {
printf("\nSEND (q or Q to quit) : ");
if (fgets(send_data, 1024, stdin) == NULL) {
continue;
}
newline = strrchr(send_data, '\n');
if (newline) {
*newline = '\0';
}
res = send(sock, send_data, strlen(send_data), 0);
if (strcasecmp(send_data, "q") == 0) {
close(sock);
printf("you typed QUIT\n");
break;
}
if (res > 0) {
res = recv(sock, recv_data, 1024, 0);
if (res > 0) {
recv_data[res] = '\0';
printf("\nResponse: %s ", recv_data);
} else {
perror("recv");
}
}
}
return EXIT_SUCCESS;
}
File Metadata
Details
Attached
Mime Type
text/x-c
Expires
Tue, Jul 8, 4:05 PM (1 d, 5 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
1982557
Default Alt Text
tcpclient.c (2 KB)
Attached To
Mode
rQ LibQB
Attached
Detach File
Event Timeline
Log In to Comment