mirror of
https://github.com/cloudwu/skynet.git
synced 2026-07-24 12:20:41 +00:00
socket server added
This commit is contained in:
37
skynet-src/socket_server.h
Normal file
37
skynet-src/socket_server.h
Normal 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
|
||||
Reference in New Issue
Block a user