Fixed copy/paste (again). Added some ifdef'ed out functions for some wrapped (retrying) recv and send's.
This commit is contained in:
parent
06b07193c5
commit
3e6e30cc12
@ -481,6 +481,17 @@ int _tmain(int argc, _TCHAR* argv[])
|
|||||||
document.clientRemap.clear();
|
document.clientRemap.clear();
|
||||||
document.sendPauseCommand(true);
|
document.sendPauseCommand(true);
|
||||||
document.sendSetRowCommand(trackView->getEditRow());
|
document.sendSetRowCommand(trackView->getEditRow());
|
||||||
|
#if 0
|
||||||
|
int flag = 1;
|
||||||
|
return setsockopt(
|
||||||
|
serverSocket, /* socket affected */
|
||||||
|
IPPROTO_TCP, /* set option at TCP level */
|
||||||
|
TCP_NODELAY, /* name of option */
|
||||||
|
(char *) &flag, /* the cast is historical cruft */
|
||||||
|
sizeof(int) /* length of option value */
|
||||||
|
);
|
||||||
|
#endif
|
||||||
|
|
||||||
}
|
}
|
||||||
else SendMessage(statusBarWin, SB_SETTEXT, 0, (LPARAM)_T("Not Connected."));
|
else SendMessage(statusBarWin, SB_SETTEXT, 0, (LPARAM)_T("Not Connected."));
|
||||||
}
|
}
|
||||||
@ -492,8 +503,7 @@ int _tmain(int argc, _TCHAR* argv[])
|
|||||||
while (pollRead(clientSocket))
|
while (pollRead(clientSocket))
|
||||||
{
|
{
|
||||||
unsigned char cmd = 0;
|
unsigned char cmd = 0;
|
||||||
int ret = recv(clientSocket, (char*)&cmd, 1, 0);
|
if (0 > recv(clientSocket, (char*)&cmd, 1, 0))
|
||||||
if (1 > ret)
|
|
||||||
{
|
{
|
||||||
closesocket(clientSocket);
|
closesocket(clientSocket);
|
||||||
clientSocket = INVALID_SOCKET;
|
clientSocket = INVALID_SOCKET;
|
||||||
@ -511,14 +521,11 @@ int _tmain(int argc, _TCHAR* argv[])
|
|||||||
case GET_TRACK:
|
case GET_TRACK:
|
||||||
{
|
{
|
||||||
size_t clientIndex = 0;
|
size_t clientIndex = 0;
|
||||||
int ret = recv(clientSocket, (char*)&clientIndex, sizeof(int), 0);
|
recv(clientSocket, (char*)&clientIndex, sizeof(int), 0);
|
||||||
|
|
||||||
// get len
|
// get len
|
||||||
int str_len = 0;
|
int str_len = 0;
|
||||||
ret = recv(clientSocket, (char*)&str_len, sizeof(int), 0);
|
recv(clientSocket, (char*)&str_len, sizeof(int), 0);
|
||||||
|
|
||||||
// int clientAddr = 0;
|
|
||||||
// int ret = recv(clientSocket, (char*)&clientAddr, sizeof(int), 0);
|
|
||||||
|
|
||||||
// get string
|
// get string
|
||||||
std::string trackName;
|
std::string trackName;
|
||||||
@ -548,7 +555,7 @@ int _tmain(int argc, _TCHAR* argv[])
|
|||||||
case SET_ROW:
|
case SET_ROW:
|
||||||
{
|
{
|
||||||
int newRow = 0;
|
int newRow = 0;
|
||||||
int ret = recv(clientSocket, (char*)&newRow, sizeof(int), 0);
|
recv(clientSocket, (char*)&newRow, sizeof(int), 0);
|
||||||
trackView->setEditRow(newRow);
|
trackView->setEditRow(newRow);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|||||||
@ -361,7 +361,6 @@ struct CopyEntry
|
|||||||
sync::Track::KeyFrame keyFrame;
|
sync::Track::KeyFrame keyFrame;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
void TrackView::editCopy()
|
void TrackView::editCopy()
|
||||||
{
|
{
|
||||||
int selectLeft = min(selectStartTrack, selectStopTrack);
|
int selectLeft = min(selectStartTrack, selectStopTrack);
|
||||||
@ -395,7 +394,7 @@ void TrackView::editCopy()
|
|||||||
assert(NULL != keyFrame);
|
assert(NULL != keyFrame);
|
||||||
|
|
||||||
CopyEntry ce;
|
CopyEntry ce;
|
||||||
ce.track = int(trackIndex);
|
ce.track = track - selectLeft;
|
||||||
ce.row = localRow;
|
ce.row = localRow;
|
||||||
ce.keyFrame = *keyFrame;
|
ce.keyFrame = *keyFrame;
|
||||||
|
|
||||||
@ -451,7 +450,7 @@ void TrackView::editPaste()
|
|||||||
memcpy(&buffer_width, clipbuf + 0, sizeof(int));
|
memcpy(&buffer_width, clipbuf + 0, sizeof(int));
|
||||||
memcpy(&buffer_height, clipbuf + sizeof(int), sizeof(int));
|
memcpy(&buffer_height, clipbuf + sizeof(int), sizeof(int));
|
||||||
memcpy(&buffer_size, clipbuf + 2 * sizeof(int), sizeof(size_t));
|
memcpy(&buffer_size, clipbuf + 2 * sizeof(int), sizeof(size_t));
|
||||||
|
|
||||||
if (buffer_size > 0)
|
if (buffer_size > 0)
|
||||||
{
|
{
|
||||||
char *src = clipbuf + 2 * sizeof(int) + sizeof(size_t);
|
char *src = clipbuf + 2 * sizeof(int) + sizeof(size_t);
|
||||||
@ -461,12 +460,15 @@ void TrackView::editPaste()
|
|||||||
{
|
{
|
||||||
struct CopyEntry ce;
|
struct CopyEntry ce;
|
||||||
memcpy(&ce, src, sizeof(CopyEntry));
|
memcpy(&ce, src, sizeof(CopyEntry));
|
||||||
|
|
||||||
size_t trackIndex = document->getTrackIndexFromPos(editTrack + ce.track);
|
|
||||||
|
|
||||||
SyncDocument::Command *cmd = document->getSetKeyFrameCommand(int(trackIndex), editRow + ce.row, ce.keyFrame);
|
|
||||||
multiCmd->addCommand(cmd);
|
|
||||||
src += sizeof(CopyEntry);
|
src += sizeof(CopyEntry);
|
||||||
|
|
||||||
|
size_t trackPos = editTrack + ce.track;
|
||||||
|
if (trackPos < document->getTrackCount())
|
||||||
|
{
|
||||||
|
size_t trackIndex = document->getTrackIndexFromPos(trackPos);
|
||||||
|
SyncDocument::Command *cmd = document->getSetKeyFrameCommand(int(trackIndex), editRow + ce.row, ce.keyFrame);
|
||||||
|
multiCmd->addCommand(cmd);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
document->exec(multiCmd);
|
document->exec(multiCmd);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -69,8 +69,7 @@ bool ClientDevice::update(float row)
|
|||||||
while (pollRead(serverSocket))
|
while (pollRead(serverSocket))
|
||||||
{
|
{
|
||||||
unsigned char cmd = 0;
|
unsigned char cmd = 0;
|
||||||
int ret = recv(serverSocket, (char*)&cmd, 1, 0);
|
if (0 > recv(serverSocket, (char*)&cmd, 1, 0))
|
||||||
if (0 >= ret)
|
|
||||||
{
|
{
|
||||||
done = true;
|
done = true;
|
||||||
break;
|
break;
|
||||||
|
|||||||
@ -74,7 +74,8 @@ SOCKET serverConnect(struct sockaddr_in *addr)
|
|||||||
|
|
||||||
const char *expectedGreeting = serverGreeting;
|
const char *expectedGreeting = serverGreeting;
|
||||||
char recievedGreeting[128];
|
char recievedGreeting[128];
|
||||||
recv(serverSocket, recievedGreeting, int(sizeof(recievedGreeting)), 0);
|
|
||||||
|
recv(serverSocket, recievedGreeting, int(strlen(expectedGreeting)), 0);
|
||||||
if (strncmp(expectedGreeting, recievedGreeting, strlen(expectedGreeting)) != 0)
|
if (strncmp(expectedGreeting, recievedGreeting, strlen(expectedGreeting)) != 0)
|
||||||
{
|
{
|
||||||
closesocket(serverSocket);
|
closesocket(serverSocket);
|
||||||
@ -95,4 +96,28 @@ bool pollRead(SOCKET socket)
|
|||||||
// look for new commands
|
// look for new commands
|
||||||
return select(0, &fds, NULL, NULL, &timeout) > 0;
|
return select(0, &fds, NULL, NULL, &timeout) > 0;
|
||||||
}
|
}
|
||||||
|
#if 0
|
||||||
|
bool recvBlock(SOCKET socket, char *buffer, size_t length, int flags)
|
||||||
|
{
|
||||||
|
size_t pos = 0;
|
||||||
|
while (pos < length)
|
||||||
|
{
|
||||||
|
int ret = recv(socket, &buffer[pos], int(length - pos), flags);
|
||||||
|
if (0 > ret) return false; // error
|
||||||
|
pos += ret;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool sendBlock(SOCKET socket, const char *buffer, size_t length, int flags)
|
||||||
|
{
|
||||||
|
size_t pos = 0;
|
||||||
|
while (pos < length)
|
||||||
|
{
|
||||||
|
int ret = send(socket, &buffer[pos], int(length - pos), flags);
|
||||||
|
if (0 > ret) return false; // error
|
||||||
|
pos += ret;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|||||||
@ -30,6 +30,11 @@ SOCKET serverConnect(struct sockaddr_in *addr);
|
|||||||
|
|
||||||
bool pollRead(SOCKET socket);
|
bool pollRead(SOCKET socket);
|
||||||
|
|
||||||
|
#if 0
|
||||||
|
bool recvBlock(SOCKET socket, char *buffer, size_t length, int flags);
|
||||||
|
bool sendBlock(SOCKET socket, const char *buffer, size_t length, int flags);
|
||||||
|
#endif
|
||||||
|
|
||||||
enum RemoteCommand {
|
enum RemoteCommand {
|
||||||
// server -> client
|
// server -> client
|
||||||
SET_KEY = 0,
|
SET_KEY = 0,
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user