int main(int argc, char *argv[]) { WSADATA WSInfo; if (WSAStartup(0x202, &WSInfo)) return 2; if (argc == 2) { IN_ADDR* Table = Get_Table(); int Num_of_BroadCast; printf("Enter number of Broadcast Address: "); scanf("%d", &Num_of_BroadCast); argv[2] = inet_ntoa(Table[Num_of_BroadCast]); } else if (argc != 3) return 1; SOCKET UdpSock; UdpSock = socket(AF_INET, SOCK_DGRAM, 0); HANDLE Rcv_Thread; bool opt = true; if (setsockopt(UdpSock, SOL_SOCKET, SO_BROADCAST, (char*)&opt, sizeof(opt)) == -1) return 3; Src_Addr.sin_family = AF_INET; Src_Addr.sin_addr.S_un.S_addr = INADDR_ANY; Src_Addr.sin_port = htons(atoi(argv[1])); struct hostent *hp_d; hp_d = gethostbyname(argv[2]); Dst_Addr.sin_family = AF_INET; Dst_Addr.sin_addr = *((struct in_addr *) hp_d->h_addr); Dst_Addr.sin_port = htons(atoi(argv[1])); if (bind(UdpSock, (struct sockaddr*)&Src_Addr, sizeof(Src_Addr)) == -1) return 4; Rcv_Thread = CreateThread(NULL, NULL, (LPTHREAD_START_ROUTINE)Msg_Rcv, (LPVOID)UdpSock, NULL, NULL); while (true) { char* msg = new char[BUFFER_SIZE]; printf("\n > "); fflush(stdin); fgets(msg, BUFFER_SIZE, stdin); sendto(UdpSock, msg, strlen(msg) + 1, NULL, (sockaddr*)&Dst_Addr, sizeof(Dst_Addr)); } closesocket(UdpSock); WSACleanup(); return 0; }
//--------------------------------------------------------- wxString CWKSP_Table::Get_Description(void) { wxString s; //----------------------------------------------------- s += wxString::Format("<h4>%s</h4>", _TL("Table")); s += "<table border=\"0\">"; DESC_ADD_STR(_TL("Name" ), m_pObject->Get_Name()); DESC_ADD_STR(_TL("Description" ), m_pObject->Get_Description()); if( SG_File_Exists(m_pObject->Get_File_Name(false)) ) { DESC_ADD_STR(_TL("File" ), m_pObject->Get_File_Name(false)); } else if( m_pObject->Get_MetaData_DB().Get_Children_Count() ) { DESC_ADD_STR(_TL("File" ), m_pObject->Get_File_Name(false)); } else { DESC_ADD_STR(_TL("File" ), _TL("memory")); } DESC_ADD_STR(_TL("Modified" ), m_pObject->is_Modified() ? _TL("yes") : _TL("no")); DESC_ADD_INT(_TL("Number of Records"), Get_Table()->Get_Count()); DESC_ADD_INT(_TL("Selected" ), Get_Table()->Get_Selection_Count()); s += wxT("</table>"); s += Get_TableInfo_asHTML(Get_Table()); //----------------------------------------------------- // s += wxString::Format(wxT("<hr><b>%s</b><font size=\"-1\">"), _TL("Data History")); // s += m_pTable->Get_History().Get_HTML(); // s += wxString::Format(wxT("</font")); //----------------------------------------------------- return( s ); }
int main() { Copyright(); //输出程序信息 char *s = (char *)malloc(MAXLEN * sizeof(char)); //用来保存输入数据 char *backups_s = s; //备份s指针 用于释放内存 char *filepath = (char *)malloc(MAXLEN * sizeof(char)); //用来储存文件路径 char *backups_p = filepath; while (1) { Pre(); s = backups_s; Read_Argv(s); if (*s != '-') { gets(s); Error(); continue; } s ++; filepath = backups_p; if (Equal(s , "index")) { int t; scanf("%d" , &t); if (t == 1) printf("---Open the index function successfully.---\n"); else if (t == 0) printf("---Close the index function successfully.---\n"); else Error(); gets(s); continue; } else if (*(s + 1) != '\0') { gets(s); Error(); continue; } switch (*s) { case 'c' : Get_Path(filepath); Create_Table(filepath); break; case 'i' : s = backups_s; Get_Table(s); //第二个参数 表名 Get_Path(filepath); Import_Data(s , filepath); break; case 's' : Get_Path(filepath); Select(filepath); break; case 'u' : Get_Path(filepath); Update(filepath); break; case 'd' : Get_Path(filepath); Delete(filepath); break; case 'h' : Help(); break; case 'q' : Exit_pro(); free(backups_s); free(backups_p); Free(); return 0; default : gets(s); Error(); break; } gets(s); } return 0; }