COMSTACK stack;
char *buf = 0;
int size = 0, length_incoming;
char *protocol_package;
int protocol_package_length;
char server_address_str[] = "myserver.com:2100";
void *server_address_ip;
int status;
stack = cs_create(tcpip_type, 1, PROTO_Z3950);
if (!stack) {
perror("cs_create"); /* use perror() here since we have no stack yet */
exit(1);
}
server_address_ip = cs_addrstr (stack, server_address_str);
status = cs_connect(stack, server_address_ip);
if (status != 0) {
cs_perror(stack, "cs_connect");
exit(1);
}
status = cs_put(stack, protocol_package, protocol_package_length);
if (status) {
cs_perror(stack, "cs_put");
exit(1);
}
/* Now get a response */
length_incoming = cs_get(stack, &buf, &size);
if (!length_incoming) {
fprintf(stderr, "Connection closed\n");
exit(1);
} else if (length_incoming < 0) {
cs_perror(stack, "cs_get");
exit(1);
}
/* Do stuff with buf here */
/* clean up */
cs_close(stack);
if (buf)
free(buf);
|