This commit is contained in:
Nishi 2026-01-29 18:34:15 +09:00
commit 0e2ca4f931
6 changed files with 55 additions and 11 deletions

View file

@ -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) {