mirror of
				https://github.com/ChristopherA/Learning-Bitcoin-from-the-Command-Line.git
				synced 2025-11-04 12:28:15 +00:00 
			
		
		
		
	separating out Javier's program
This commit is contained in:
		
							parent
							
								
									dc1a1edb1c
								
							
						
					
					
						commit
						c6ebc24917
					
				
							
								
								
									
										42
									
								
								src/15_3_chainlistener.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										42
									
								
								src/15_3_chainlistener.c
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,42 @@
 | 
				
			|||||||
 | 
					#include <czmq.h>
 | 
				
			||||||
 | 
					int main(int argc, char ** argv) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  char *zmqserver;
 | 
				
			||||||
 | 
					  char *topic;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  if (argc < 3) {
 | 
				
			||||||
 | 
					    printf("\nUSAGE:\nchainlistener <tcp://localhost:port> <topic>\n\n");
 | 
				
			||||||
 | 
					    return 0;
 | 
				
			||||||
 | 
					  } else {
 | 
				
			||||||
 | 
					    zmqserver = argv[1];
 | 
				
			||||||
 | 
					    topic = argv[2];
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  zsock_t *socket = zsock_new_sub(zmqserver, topic);
 | 
				
			||||||
 | 
					  assert(socket);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  while(1) {
 | 
				
			||||||
 | 
					    zmsg_t *msg;
 | 
				
			||||||
 | 
					    int rc = zsock_recv(socket, "m", &msg);
 | 
				
			||||||
 | 
					    assert(rc == 0);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    char *header = zmsg_popstr(msg);
 | 
				
			||||||
 | 
					    zframe_t *zdata = zmsg_pop(msg);
 | 
				
			||||||
 | 
					    unsigned int *no = (unsigned int*)zmsg_popstr(msg);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    char *data = zframe_strhex(zdata);
 | 
				
			||||||
 | 
					    int len = zframe_size(zdata);
 | 
				
			||||||
 | 
					    printf("Size: %d\n", len);
 | 
				
			||||||
 | 
					    printf("Data: %s", data);
 | 
				
			||||||
 | 
					    printf("\nNo: %d\n", *no);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    free(header);
 | 
				
			||||||
 | 
					    free(data);
 | 
				
			||||||
 | 
					    free(no);
 | 
				
			||||||
 | 
					    free(zdata);
 | 
				
			||||||
 | 
					    zmsg_destroy(&msg);
 | 
				
			||||||
 | 
					    sleep(1);
 | 
				
			||||||
 | 
					 }
 | 
				
			||||||
 | 
					  zsock_destroy(&socket);
 | 
				
			||||||
 | 
					  return 0;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user