diff --git a/editor/synctracker2.cpp b/editor/synctracker2.cpp index 19be4c3..729ccbc 100644 --- a/editor/synctracker2.cpp +++ b/editor/synctracker2.cpp @@ -213,9 +213,9 @@ static LRESULT CALLBACK mainWindowProc(HWND hwnd, UINT msg, WPARAM wParam, LPARA NULL // window data ); - int statwidths[] = { 100, -1 }; + int statwidths[] = { 150, -1 }; SendMessage(statusBarWin, SB_SETPARTS, sizeof(statwidths) / sizeof(int), (LPARAM)statwidths); - SendMessage(statusBarWin, SB_SETTEXT, 0, (LPARAM)_T("Hi there :)")); + SendMessage(statusBarWin, SB_SETTEXT, 0, (LPARAM)_T("Not connected")); SendMessage(statusBarWin, SB_SETTEXT, 1, (LPARAM)_T("Hi there :)")); } break; @@ -425,16 +425,20 @@ int _tmain(int argc, _TCHAR* argv[]) // look for new clients if (select(0, &fds, NULL, NULL, &timeout) > 0) { - puts("accepting..."); - clientSocket = clientConnect(serverSocket); + SendMessage(statusBarWin, SB_SETTEXT, 0, (LPARAM)_T("Accepting...")); + sockaddr_in client; + clientSocket = clientConnect(serverSocket, &client); if (INVALID_SOCKET != clientSocket) { - puts("connected."); + TCHAR temp[256]; + _sntprintf_s(temp, 256, _T("Connected to %s"), inet_ntoa(client.sin_addr)); + SendMessage(statusBarWin, SB_SETTEXT, 0, (LPARAM)temp); document.clientSocket = clientSocket; document.clientRemap.clear(); document.sendPauseCommand(true); document.sendSetRowCommand(trackView->getEditRow()); } + else SendMessage(statusBarWin, SB_SETTEXT, 0, (LPARAM)_T("Not Connected.")); } } @@ -452,6 +456,7 @@ int _tmain(int argc, _TCHAR* argv[]) document.clientSocket = INVALID_SOCKET; document.clientRemap.clear(); InvalidateRect(trackViewWin, NULL, FALSE); + SendMessage(statusBarWin, SB_SETTEXT, 0, (LPARAM)_T("Not Connected.")); break; } else diff --git a/sync/network.cpp b/sync/network.cpp index 5f7248b..b580c00 100644 --- a/sync/network.cpp +++ b/sync/network.cpp @@ -39,9 +39,11 @@ void closeNetwork() static const char *clientGreeting = "hello, synctracker!"; static const char *serverGreeting = "hello, demo!"; -SOCKET clientConnect(SOCKET serverSocket) +SOCKET clientConnect(SOCKET serverSocket, sockaddr_in *host) { - SOCKET clientSocket = accept(serverSocket, NULL, NULL); + sockaddr_in hostTemp; + int hostSize = sizeof(sockaddr_in); + SOCKET clientSocket = accept(serverSocket, (sockaddr*)&hostTemp, &hostSize); if (INVALID_SOCKET == clientSocket) return INVALID_SOCKET; const char *expectedGreeting = clientGreeting; @@ -58,6 +60,7 @@ SOCKET clientConnect(SOCKET serverSocket) const char *greeting = serverGreeting; send(clientSocket, greeting, int(strlen(greeting)), 0); + if (NULL != host) *host = hostTemp; return clientSocket; } diff --git a/sync/network.h b/sync/network.h index bb993ed..36e0173 100644 --- a/sync/network.h +++ b/sync/network.h @@ -24,7 +24,8 @@ bool initNetwork(); void closeNetwork(); -SOCKET clientConnect(SOCKET serverSocket); +// SOCKET clientConnect(SOCKET serverSocket); +SOCKET clientConnect(SOCKET serverSocket, sockaddr_in *host = NULL); SOCKET serverConnect(struct sockaddr_in *addr); bool pollRead(SOCKET socket);