socket server added

This commit is contained in:
云风
2013-08-21 15:02:23 +08:00
parent 6981dd3009
commit db92f4abbf
10 changed files with 1281 additions and 90 deletions

View File

@@ -0,0 +1,37 @@
#ifndef skynet_socket_server_h
#define skynet_socket_server_h
#include <stdint.h>
#define SOCKET_DATA 0
#define SOCKET_CLOSE 1
#define SOCKET_OPEN 2
#define SOCKET_ACCEPT 3
#define SOCKET_ERROR 4
#define SOCKET_EXIT 5
struct socket_server;
struct socket_message {
int id;
uintptr_t opaque;
int ud; // for accept, ud is listen id ; for data, ud is size of data
char * data;
};
struct socket_server * socket_server_create();
void socket_server_release(struct socket_server *);
int socket_server_poll(struct socket_server *, struct socket_message *result);
void socket_server_exit(struct socket_server *);
void socket_server_close(struct socket_server *, uintptr_t opaque, int id);
// return -1 when error
int socket_server_send(struct socket_server *, int id, const void * buffer, int sz);
// ctrl command below returns id
int socket_server_listen(struct socket_server *, uintptr_t opaque, const char * addr, int port, int backlog);
int socket_server_connect(struct socket_server *, uintptr_t opaque, const char * addr, int port);
int socket_server_bind(struct socket_server *, uintptr_t opaque, int fd);
#endif