Skip to content

Commit 0ec7340

Browse files
committed
fix: support close socket on windows.
1 parent 21195a5 commit 0ec7340

File tree

4 files changed

+8
-23
lines changed

4 files changed

+8
-23
lines changed

examples/chat-api-client.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
// 2. Run this script: `node examples/chat-api-client.js`
77

88
const HOST = process.env.HOST ? process.env.HOST : '127.0.0.1';
9-
const PORT = process.env.PORT ? Number(process.env.PORT) : 5000;
9+
const PORT = process.env.PORT ? Number(process.env.PORT) : 9990;
1010

1111
async function chat(messages, maxTokens) {
1212
const response = await fetch(`http://${HOST}:${PORT}/v1/chat/completions`, {

src/dllama-api.cpp

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -560,19 +560,15 @@ static void server(AppInferenceContext *context) {
560560
HttpRequest request = HttpRequest::read(clientSocket);
561561
printf("🔷 %s %s\n", request.getMethod().c_str(), request.path.c_str());
562562
Router::resolve(request, routes);
563-
#ifdef _WIN32
564-
closesocket(clientSocket);
565-
#else
566-
close(clientSocket);
567-
#endif
563+
destroySocket(clientSocket);
568564
} catch (NnReadNetworkException& ex) {
569565
printf("Read socket error: %d %s\n", ex.code, ex.message);
570566
} catch (NnWriteNetworkException& ex) {
571567
printf("Write socket error: %d %s\n", ex.code, ex.message);
572568
}
573569
}
574570

575-
closeServerSocket(serverSocket);
571+
destroySocket(serverSocket);
576572
}
577573

578574
#ifdef _WIN32

src/nn/nn-network.cpp

Lines changed: 4 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -220,7 +220,7 @@ int createServerSocket(int port) {
220220
return serverSocket;
221221
}
222222

223-
void closeServerSocket(int serverSocket) {
223+
void destroySocket(int serverSocket) {
224224
shutdown(serverSocket, 2);
225225
#ifdef _WIN32
226226
closesocket(serverSocket);
@@ -316,12 +316,7 @@ std::unique_ptr<NnNetwork> NnNetwork::serve(int port) {
316316
delete[] hosts;
317317
delete[] ports;
318318

319-
shutdown(serverSocket, 2);
320-
#ifdef _WIN32
321-
closesocket(serverSocket);
322-
#else
323-
close(serverSocket);
324-
#endif
319+
destroySocket(serverSocket);
325320
printf("⭕ Network is initialized\n");
326321
return std::unique_ptr<NnNetwork>(new NnNetwork(nSockets, sockets));
327322
}
@@ -365,14 +360,8 @@ NnNetwork::NnNetwork(NnUint nSockets, int *sockets) {
365360
NnNetwork::~NnNetwork() {
366361
delete[] sentBytes;
367362
delete[] recvBytes;
368-
for (NnUint i = 0; i < nSockets; i++) {
369-
shutdown(sockets[i], 2);
370-
#ifdef _WIN32
371-
closesocket(sockets[i]);
372-
#else
373-
close(sockets[i]);
374-
#endif
375-
}
363+
for (NnUint i = 0; i < nSockets; i++)
364+
destroySocket(sockets[i]);
376365
delete[] sockets;
377366
printf("⭕ Network is closed\n");
378367
}

src/nn/nn-network.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ void setReuseAddr(int socket);
1212
void writeSocket(int socket, const void* data, NnSize size);
1313
void readSocket(int socket, void* data, NnSize size);
1414
int createServerSocket(int port);
15-
void closeServerSocket(int serverSocket);
15+
void destroySocket(int serverSocket);
1616

1717
class NnReadNetworkException : public std::exception {
1818
public:

0 commit comments

Comments
 (0)