add block connect for harbor

This commit is contained in:
云风
2013-09-10 23:21:30 +08:00
parent a15b93cbcf
commit 80fe468e8e
7 changed files with 115 additions and 108 deletions

View File

@@ -292,7 +292,7 @@ _cb(struct skynet_context * ctx, void * ud, int type, int session, uint32_t sour
return 0;
}
static void
static int
start_listen(struct gate *g, char * listen_addr) {
struct skynet_context * ctx = g->ctx;
char * portstr = strchr(listen_addr,':');
@@ -302,18 +302,22 @@ start_listen(struct gate *g, char * listen_addr) {
port = strtol(listen_addr, NULL, 10);
if (port <= 0) {
skynet_error(ctx, "Invalid gate address %s",listen_addr);
return;
return 1;
}
} else {
port = strtol(portstr + 1, NULL, 10);
if (port <= 0) {
skynet_error(ctx, "Invalid gate address %s",listen_addr);
return;
return 1;
}
portstr[0] = '\0';
host = listen_addr;
}
g->listen_id = skynet_socket_listen(ctx, host, port, BACKLOG);
if (g->listen_id < 0) {
return 1;
}
return 0;
}
int
@@ -370,8 +374,7 @@ gate_init(struct gate *g , struct skynet_context * ctx, char * parm) {
g->client_tag = client_tag;
g->header_size = header=='S' ? 2 : 4;
start_listen(g,binding);
skynet_callback(ctx,g,_cb);
return 0;
return start_listen(g,binding);
}