stand alone skynet without skynet-master

This commit is contained in:
云风
2012-08-08 13:30:59 +08:00
parent 2dc7bec040
commit 7aee6b66d1
12 changed files with 84 additions and 27 deletions

View File

@@ -1,7 +1,10 @@
all : master test
master : master.c
master : master.c main.c
gcc -g -Wall -o $@ $^ -lzmq
test : test.c
gcc -g -Wall -o $@ $^ -lzmq
clean :
rm master test

17
master/main.c Normal file
View File

@@ -0,0 +1,17 @@
#include "skynet_master.h"
#include <zmq.h>
int
main (int argc, char * argv[]) {
const char * default_port = "tcp://127.0.0.1:2012";
if (argc > 1) {
default_port = argv[2];
}
void *context = zmq_init (1);
skynet_master(context, default_port);
zmq_term (context);
return 0;
}

View File

@@ -217,22 +217,16 @@ update(void * responder, struct hashmap *map, zmq_msg_t * msg) {
query(responder, map, key);
}
int
main (int argc, char * argv[]) {
const char * default_port = "tcp://127.0.0.1:2012";
if (argc > 1) {
default_port = argv[2];
}
void *context = zmq_init (1);
void
skynet_master(void * context, const char * port) {
void *responder = zmq_socket (context, ZMQ_REP);
int r = zmq_bind(responder, default_port);
int r = zmq_bind(responder, port);
if (r < 0) {
fprintf(stderr, "Can't bind to %s\n",default_port);
return 1;
fprintf(stderr, "Can't bind to %s\n",port);
exit(1);
}
printf("Start master on %s\n",default_port);
printf("Start master on %s\n", port);
struct hashmap *map = _hash_new(context);
@@ -245,6 +239,5 @@ main (int argc, char * argv[]) {
}
zmq_close (responder);
zmq_term (context);
return 0;
}

6
master/skynet_master.h Normal file
View File

@@ -0,0 +1,6 @@
#ifndef SKYNET_MASTER_H
#define SKYNET_MASTER_H
void skynet_master(void * context, const char * port);
#endif