WebSocket Server Not Sending "Connected" Message
hey
I'm trying to create a simple Websocket server sending a response "Connected" after a client connected.
For some reason I never get to this line:
What am I am doing wrong?
For some reason I never get to this line:
yield* Effect.logInfo('Connected sent');yield* Effect.logInfo('Connected sent');What am I am doing wrong?
import { type Socket, SocketServer } from '@effect/platform';
import { NodeContext, NodeRuntime, NodeSocketServer } from '@effect/platform-node';
import { Effect } from 'effect';
// Connection handler
const handleConnection = Effect.fn('handleConnection')(function* (socket: Socket.Socket) {
yield* Effect.logInfo('New connection');
const sendToSocket = yield* socket.writer;
yield* sendToSocket('Connected');
yield* Effect.logInfo('Connected sent');
return yield* Effect.never;
});
// Server setup
NodeRuntime.runMain(
Effect.gen(function* () {
const server = yield* SocketServer.SocketServer;
yield* Effect.logInfo('Chat server starting on port 8080');
yield* server.run(handleConnection);
}).pipe(
Effect.scoped,
Effect.provide(NodeContext.layer),
Effect.provide(
NodeSocketServer.layerWebSocket({
port: 8080,
}),
),
),
);import { type Socket, SocketServer } from '@effect/platform';
import { NodeContext, NodeRuntime, NodeSocketServer } from '@effect/platform-node';
import { Effect } from 'effect';
// Connection handler
const handleConnection = Effect.fn('handleConnection')(function* (socket: Socket.Socket) {
yield* Effect.logInfo('New connection');
const sendToSocket = yield* socket.writer;
yield* sendToSocket('Connected');
yield* Effect.logInfo('Connected sent');
return yield* Effect.never;
});
// Server setup
NodeRuntime.runMain(
Effect.gen(function* () {
const server = yield* SocketServer.SocketServer;
yield* Effect.logInfo('Chat server starting on port 8080');
yield* server.run(handleConnection);
}).pipe(
Effect.scoped,
Effect.provide(NodeContext.layer),
Effect.provide(
NodeSocketServer.layerWebSocket({
port: 8080,
}),
),
),
);