wip
This commit is contained in:
parent
cde6519059
commit
0e2ca4f931
6 changed files with 55 additions and 11 deletions
|
|
@ -2,6 +2,8 @@
|
|||
|
||||
#include <GearSrc/Log.h>
|
||||
|
||||
#include <stb_ds.h>
|
||||
|
||||
GSNetServer GSNetServerOpen(GSServer server, int port) {
|
||||
GSNetServer net = malloc(sizeof(*net));
|
||||
|
||||
|
|
@ -20,6 +22,28 @@ GSNetServer GSNetServerOpen(GSServer server, int port) {
|
|||
}
|
||||
|
||||
void GSNetServerStep(GSNetServer net) {
|
||||
int i;
|
||||
GSNetPacket pkt;
|
||||
GSNetAddress addr;
|
||||
|
||||
while(GSNetBaseHasData(net->fd)){
|
||||
GSNetState v;
|
||||
|
||||
memset(&v, 0, sizeof(v));
|
||||
v.engine = net->engine;
|
||||
|
||||
GSNetPacketRead(net->fd, &pkt, &addr);
|
||||
|
||||
i = hmgeti(net->client, addr);
|
||||
if(i != -1) v = net->client[i].value;
|
||||
|
||||
GSNetStateRead(&v, net->fd, &pkt, &addr);
|
||||
hmput(net->client, addr, v);
|
||||
}
|
||||
|
||||
for(i = 0; i < hmlen(net->client); i++){
|
||||
GSNetStateWrite(&net->client[i].value, net->fd, &net->client[i].key);
|
||||
}
|
||||
}
|
||||
|
||||
void GSNetServerClose(GSNetServer net) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue