HostData.CurNameKanjiCode = HostData.NameKanjiCode;\r
// IPv6対応\r
HostData.CurNetType = HostData.NetType;\r
+ // 同時接続対応\r
+ HostData.NoDisplayUI = YES;\r
// 暗号化通信対応\r
// 同時接続対応\r
// if((*Skt = DoConnect(CurHost.HostAdrs, CurHost.UserName, CurHost.PassWord, CurHost.Account, CurHost.Port, CurHost.FireWall, NO, CurHost.Security)) != INVALID_SOCKET)\r
else\r
{\r
Anony = NO;\r
+ // 同時接続対応\r
+// if((strlen(User) != 0) || \r
+// (InputDialogBox(username_dlg, GetMainHwnd(), NULL, User, USER_NAME_LEN+1, &Anony, IDH_HELP_TOPIC_0000001) == YES))\r
if((strlen(User) != 0) || \r
- (InputDialogBox(username_dlg, GetMainHwnd(), NULL, User, USER_NAME_LEN+1, &Anony, IDH_HELP_TOPIC_0000001) == YES))\r
+ ((HostData->NoDisplayUI == NO) && (InputDialogBox(username_dlg, GetMainHwnd(), NULL, User, USER_NAME_LEN+1, &Anony, IDH_HELP_TOPIC_0000001) == YES)))\r
{\r
if(Anony == YES)\r
{\r
// if((Sts = command(ContSock, Reply, &CancelFlg, "USER %s", Buf) / 100) == FTP_CONTINUE)\r
if((Sts = command(ContSock, Reply, CancelCheckWork, "USER %s", Buf) / 100) == FTP_CONTINUE)\r
{\r
+ // 同時接続対応\r
+// if((strlen(Pass) != 0) || \r
+// (InputDialogBox(passwd_dlg, GetMainHwnd(), NULL, Pass, PASSWORD_LEN+1, &Anony, IDH_HELP_TOPIC_0000001) == YES))\r
if((strlen(Pass) != 0) || \r
- (InputDialogBox(passwd_dlg, GetMainHwnd(), NULL, Pass, PASSWORD_LEN+1, &Anony, IDH_HELP_TOPIC_0000001) == YES))\r
+ ((HostData->NoDisplayUI == NO) && (InputDialogBox(passwd_dlg, GetMainHwnd(), NULL, Pass, PASSWORD_LEN+1, &Anony, IDH_HELP_TOPIC_0000001) == YES)))\r
{\r
CheckOneTimePassword(Pass, Reply, Security);\r
\r
if(Sts == FTP_ERROR)\r
{\r
strcpy(Pass, "");\r
- if(InputDialogBox(re_passwd_dlg, GetMainHwnd(), NULL, Pass, PASSWORD_LEN+1, &Anony, IDH_HELP_TOPIC_0000001) == YES)\r
+ // 同時接続対応\r
+// if(InputDialogBox(re_passwd_dlg, GetMainHwnd(), NULL, Pass, PASSWORD_LEN+1, &Anony, IDH_HELP_TOPIC_0000001) == YES)\r
+ if(HostData->NoDisplayUI == NO && InputDialogBox(re_passwd_dlg, GetMainHwnd(), NULL, Pass, PASSWORD_LEN+1, &Anony, IDH_HELP_TOPIC_0000001) == YES)\r
Continue = YES;\r
else\r
DoPrintf("No password specified.");\r
}\r
else if(Sts == FTP_CONTINUE)\r
{\r
+ // 同時接続対応\r
+// if((strlen(Acct) != 0) || \r
+// (InputDialogBox(account_dlg, GetMainHwnd(), NULL, Acct, ACCOUNT_LEN+1, &Anony, IDH_HELP_TOPIC_0000001) == YES))\r
if((strlen(Acct) != 0) || \r
- (InputDialogBox(account_dlg, GetMainHwnd(), NULL, Acct, ACCOUNT_LEN+1, &Anony, IDH_HELP_TOPIC_0000001) == YES))\r
+ ((HostData->NoDisplayUI == NO) && (InputDialogBox(account_dlg, GetMainHwnd(), NULL, Acct, ACCOUNT_LEN+1, &Anony, IDH_HELP_TOPIC_0000001) == YES)))\r
{\r
// 同時接続対応\r
// Sts = command(ContSock, NULL, &CancelFlg, "ACCT %s", Acct) / 100;\r
}\r
else if((SavePass == YES) && (ReInPass == YES))\r
{\r
- if(DialogBox(GetFtpInst(), MAKEINTRESOURCE(savepass_dlg), GetMainHwnd(), ExeEscDialogProc) == YES)\r
+ // 同時接続対応\r
+// if(DialogBox(GetFtpInst(), MAKEINTRESOURCE(savepass_dlg), GetMainHwnd(), ExeEscDialogProc) == YES)\r
+ if(HostData->NoDisplayUI == NO && DialogBox(GetFtpInst(), MAKEINTRESOURCE(savepass_dlg), GetMainHwnd(), ExeEscDialogProc) == YES)\r
SetHostPassword(AskCurrentHost(), Pass);\r
}\r
}\r
SOCKET TrnSkt;\r
RECT WndRect;\r
int i;\r
+ DWORD LastUsed;\r
\r
hWndTrans = NULL;\r
Down = NO;\r
{\r
ReleaseMutex(hListAccMutex);\r
ReConnectTrnSkt(&TrnSkt, &Canceled[ThreadCount]);\r
- // 同時ログイン数制限に引っかかった可能性あり\r
- // 負荷を下げるためにしばらく待機\r
- if(TrnSkt == INVALID_SOCKET)\r
+ // 同時ログイン数制限対策\r
+ if(TrnSkt != INVALID_SOCKET)\r
+ LastUsed = timeGetTime();\r
+ else\r
{\r
+ // 同時ログイン数制限に引っかかった可能性あり\r
+ // 負荷を下げるために約10秒間待機\r
i = 10000;\r
while(NewCmdSkt != CmdSkt && i > 0)\r
{\r
{\r
if(TrnSkt != INVALID_SOCKET)\r
{\r
- ReleaseMutex(hListAccMutex);\r
- SendData(TrnSkt, "QUIT\r\n", 6, 0, &Canceled[ThreadCount]);\r
- DoClose(TrnSkt);\r
- TrnSkt = INVALID_SOCKET;\r
-// WaitForSingleObject(hListAccMutex, INFINITE);\r
- while(WaitForSingleObject(hListAccMutex, 0) == WAIT_TIMEOUT)\r
+ // 同時ログイン数制限対策\r
+ // 10秒間は再利用を許可\r
+ if(timeGetTime() - LastUsed > 10000)\r
{\r
- BackgrndMessageProc();\r
- Sleep(1);\r
+ ReleaseMutex(hListAccMutex);\r
+ SendData(TrnSkt, "QUIT\r\n", 6, 0, &Canceled[ThreadCount]);\r
+ DoClose(TrnSkt);\r
+ TrnSkt = INVALID_SOCKET;\r
+// WaitForSingleObject(hListAccMutex, INFINITE);\r
+ while(WaitForSingleObject(hListAccMutex, 0) == WAIT_TIMEOUT)\r
+ {\r
+ BackgrndMessageProc();\r
+ Sleep(1);\r
+ }\r
}\r
}\r
}\r
SendMessage(hWndTrans, WM_SET_PACKET, 0, 0);\r
if(Pos != NULL)\r
strcpy(Pos->Cmd, "");\r
+ LastUsed = timeGetTime();\r
}\r
// else\r
else if(TransPacketBase == NULL)\r