working enet connection

This commit is contained in:
David Allemang
2024-03-05 17:23:32 -05:00
parent bd05dae216
commit e9663d62fa
4 changed files with 59 additions and 5 deletions

View File

@@ -8,6 +8,36 @@ const SHA = std.crypto.hash.sha2.Sha256;
pub fn main() !void {
if (enet.enet_initialize() != 0) return error.ENetInitFailed;
defer enet.enet_deinitialize();
const addr = enet.ENetAddress{
.host = enet.ENET_HOST_ANY,
.port = enet.ENET_PORT_ANY,
};
const host = enet.enet_host_create(&addr, 32, 1, 0, 0) orelse return error.ENetHostCreateFailed;
defer enet.enet_host_destroy(host);
var server_addr = enet.ENetAddress{
.host = enet.ENET_HOST_ANY,
.port = 9405,
};
_ = enet.enet_address_set_host(&server_addr, "localhost");
const peer = enet.enet_host_connect(host, &server_addr, 1, 0);
_ = peer;
var event: enet.ENetEvent = undefined;
while (true) {
while (enet.enet_host_service(host, &event, 100) > 0) {
switch (event.type) {
enet.ENET_EVENT_TYPE_CONNECT => {
std.debug.print("client: connected to peer {any}\n", .{event.peer.*.address});
},
else => {
std.debug.print("client: other event...\n", .{});
},
}
}
}
}
// it even works in ReleaseFast so I think it's ok.

View File

@@ -1,3 +1,5 @@
const c = @This();
pub usingnamespace @cImport({
@cInclude("enet/enet.h");
});

View File

@@ -8,6 +8,28 @@ const SHA = std.crypto.hash.sha2.Sha256;
pub fn main() !void {
if (enet.enet_initialize() != 0) return error.ENetInitFailed;
defer enet.enet_deinitialize();
const addr = enet.ENetAddress{
.host = enet.ENET_HOST_ANY,
.port = 9405,
};
const host = enet.enet_host_create(&addr, 32, 1, 0, 0) orelse return error.ENetHostCreateFailed;
defer enet.enet_host_destroy(host);
var event: enet.ENetEvent = undefined;
while (true) {
while (enet.enet_host_service(host, &event, 100) > 0) {
switch (event.type) {
enet.ENET_EVENT_TYPE_CONNECT => {
std.debug.print("server: connected to peer {any}\n", .{event.peer.*.address});
},
else => {
std.debug.print("server: other event...\n", .{});
},
}
}
}
}
// it even works in ReleaseFast so I think it's ok.