C++,MFC socket通信,客户端通过界面按钮可以连接服务器端,现在想把按钮去掉

如题所示,我现在想把界面上的按钮删除,把按钮响应函数移植到初始化函数中,实现界面一打开就自动连接服务器端,但是老是中断,不知道是什么原因,希望大神们指点。
//下面是Dlg.CPP里面的初始化函数,之前是放在按钮响应函数里面的,点击按钮可图片说明连接服务器端
// TODO: 在此添加额外的初始化代码
if (m_connect) // 如果已经连接,则断开服务器
{
m_connect = false;
pSock = new CClientSocket;
pSock->Close();
delete pSock;
//m_ConPC.SetWindowTextW(_T("连接服务器"));
UpdateData(false);
//return;
}
else // 未连接,则连接服务器
{
pSock = new CClientSocket();
if (!pSock->Create()) //创建套接字
{
AfxMessageBox(_T("创建套接字1失败!"));
//return;
}
}
if (!pSock->Connect(_T("192.168.10.119"), 9000)) //连接服务器
{
AfxMessageBox(_T("连接服务器1失败!"));
//return;
}
else
{
m_connect = true;
//m_ConPC.SetWindowTextW(_T("断开服务器"));
UpdateData(false);
}

return TRUE;  // 除非将焦点设置到控件,否则返回 TRUE

3个回答

最简单的方法,在对话框资源编辑器,找到按钮,右键属性,找到可见(英文visible),去掉勾选。

这个没有代码还真不好说,可以试试在这一行打断点,然后F11,再单步运行,去函数里面看看到哪一行出错,再来解决。

按钮的消息处理函数放在初始化的函数里试试

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
C++,MFC socket通信,客户端通过界面按钮可以连接服务器端,现在想把按钮去掉

如题所示,我现在想把界面上的按钮删除,把按钮响应函数移植到初始化函数中,实现界面一打开就自动连接服务器端,但是老是中断,不知道是什么原因,希望大神们指点。 //下面是Dlg.CPP里面的初始化函数,之前是放在按钮响应函数里面的,点击按钮可![图片说明](https://img-ask.csdn.net/upload/201608/16/1471348964_212637.png)连接服务器端 // TODO: 在此添加额外的初始化代码 if (m_connect) // 如果已经连接,则断开服务器 { m_connect = false; pSock = new CClientSocket; pSock->Close(); delete pSock; //m_ConPC.SetWindowTextW(_T("连接服务器")); UpdateData(false); //return; } else // 未连接,则连接服务器 { pSock = new CClientSocket(); if (!pSock->Create()) //创建套接字 { AfxMessageBox(_T("创建套接字1失败!")); //return; } } if (!pSock->Connect(_T("192.168.10.119"), 9000)) //连接服务器 { AfxMessageBox(_T("连接服务器1失败!")); //return; } else { m_connect = true; //m_ConPC.SetWindowTextW(_T("断开服务器")); UpdateData(false); } return TRUE; // 除非将焦点设置到控件,否则返回 TRUE

MFC CSocket服务器与客户端连接问题

各位大神,一个服务器连接多个客户端,现在我想判断某一个已经定义了的CSocket对象是否与客户端已经绑定,该怎么判断?

MFC做的socket连接的TCP聊天程序,客户端总是连接不上服务器端,上午还好好的,

MFC做的socket连接的TCP聊天程序,客户端总是连接不上服务器端,上午还好好的,下午就一直连接不上,总是怀疑是电脑或者是VC的问题,因为有时候重新装下VC,程序就又好了,请问有懂的吗?这到底是哪里的问题》?用的VC6.0

socket编程客户端连接失败

想用socket通信,没法解决客户端连接失败,代码是一本书上的实例,书上的都运行不成功吗,大家帮看下问题在那里,谢谢了![图片说明](https://img-ask.csdn.net/upload/201507/13/1436783188_607205.png) 代码如下: 服务器端:################################################### #include<stdio.h> #include<winsock.h> /*引入winsock头文件*/ int main() { /*-----------------------------------------*/ /*------------定义变量---------------------*/ /*-----------------------------------------*/ char Sendbuf[100]; /*发送数据的缓冲区*/ char Receivebuf[100]; /*接受数据的缓冲区*/ int SendLen; /*发送数据的长度*/ int ReceiveLen; /*接收数据的长度*/ int Length; /*表示SOCKADDR的大小*/ SOCKET socket_server; /*定义服务器套接字*/ SOCKET socket_receive; /*定义用于连接套接字*/ SOCKADDR_IN Server_add; /*服务器地址信息结构*/ SOCKADDR_IN Client_add; /*客户端地址信息结构*/ WORD wVersionRequested; /*字(word):unsigned short*/ WSADATA wsaData; /*库版本信息结构*/ int error; /*表示错误*/ /*-----------------------------------------*/ /*------------初始化套接字库---------------*/ /*-----------------------------------------*/ /*定义版本类型。将两个字节组合成一个字,前面是第字节,后面是高字节*/ wVersionRequested = MAKEWORD( 2, 2 ); /*加载套接字库,初始化Ws2_32.dll动态链接库*/ error = WSAStartup( wVersionRequested, &wsaData); if(error!=0) { printf("加载套接字失败!"); return 0; /*程序结束*/ } /*判断请求加载的版本号是否符合要求*/ if ( LOBYTE( wsaData.wVersion ) != 2 || HIBYTE( wsaData.wVersion ) != 2 ) { WSACleanup( ); /*不符合,关闭套接字库*/ return 0; /*程序结束*/ } /*-----------------------------------------*/ /*------------设置连接地址-----------------*/ /*-----------------------------------------*/ Server_add.sin_family=AF_INET;/*地址家族,对于必须是AF_INET,注意只有它不是网络网络字节顺序*/ Server_add.sin_addr.S_un.S_addr=htonl(INADDR_ANY);/*主机地址*/ Server_add.sin_port=htons(5000);/*端口号*/ /*------------创建套接字-------------------*/ /*AF_INET表示指定地址族,SOCK_STREAM表示流式套接字TCP,特定的地址家族相关的协议。*/ socket_server=socket(AF_INET,SOCK_STREAM,0); /*-----------------------------------------*/ /*---绑定套接字到本地的某个地址和端口上----*/ /*-----------------------------------------*/ /*socket_server为套接字,(SOCKADDR*)&Server_add为服务器地址*/ if(bind(socket_server,(SOCKADDR*)&Server_add,sizeof(SOCKADDR) )==SOCKET_ERROR) { printf("绑定失败\n"); } /*-----------------------------------------*/ /*------------设置套接字为监听状态---------*/ /*-----------------------------------------*/ /*监听状态,为连接做准备,最大等待的数目为5*/ if(listen(socket_server,5)<0) { printf("监听失败\n"); } /*-----------------------------------------*/ /*------------接受连接---------------------*/ /*-----------------------------------------*/ Length=sizeof(SOCKADDR); /*接受客户端的发送请求,等待客户端发送connect请求*/ socket_receive=accept(socket_server,(SOCKADDR*)&Client_add,&Length); if(socket_receive==SOCKET_ERROR) { printf("接受连接失败"); } /*-----------------------------------------*/ /*--------------进行聊天-------------------*/ /*-----------------------------------------*/ while(1) /*无限循环*/ { /*--------接收数据---------*/ ReceiveLen =recv(socket_receive,Receivebuf,100,0); if(ReceiveLen<0) { printf("接收失败\n"); printf("程序退出\n"); break; } else { printf("client say: %s\n",Receivebuf); } /*--------发送数据---------*/ printf("please enter message:"); scanf("%s",Sendbuf); SendLen=send(socket_receive,Sendbuf,100,0); if(SendLen<0) { printf("发送失败\n"); } } /*-----------------------------------------*/ /*---------释放套接字,关闭动态库----------*/ /*-----------------------------------------*/ closesocket(socket_receive); /*释放客户端的套接字资源*/ closesocket(socket_server);/*释放套接字资源*/ WSACleanup();/*关闭动态链接库*/ return 0; } 客户端:##################################################### #include<stdio.h> #include<winsock.h> /*引入winsock头文件*/ int main() { /*-----------------------------------------*/ /*------------定义变量---------------------*/ /*-----------------------------------------*/ char Sendbuf[100]; /*发送数据的缓冲区*/ char Receivebuf[100]; /*接受数据的缓冲区*/ int SendLen; /*发送数据的长度*/ int ReceiveLen; /*接收数据的长度*/ SOCKET socket_send; /*定义套接字*/ SOCKADDR_IN Server_add; /*服务器地址信息结构*/ WORD wVersionRequested; /*字(word):unsigned short*/ WSADATA wsaData; /*库版本信息结构*/ int error; /*表示错误*/ /*-----------------------------------------*/ /*------------初始化套接字库---------------*/ /*-----------------------------------------*/ /*定义版本类型。将两个字节组合成一个字,前面是第字节,后面是高字节*/ wVersionRequested = MAKEWORD( 2, 2 ); /*加载套接字库,初始化Ws2_32.dll动态链接库*/ error = WSAStartup( wVersionRequested, &wsaData); if(error!=0) { printf("加载套接字失败!"); return 0; /*程序结束*/ } /*判断请求加载的版本号是否符合要求*/ if ( LOBYTE( wsaData.wVersion ) != 2 || HIBYTE( wsaData.wVersion ) != 2 ) { WSACleanup( ); /*不符合,关闭套接字库*/ return 0; /*程序结束*/ } /*-----------------------------------------*/ /*------------设置服务器地址---------------*/ /*-----------------------------------------*/ Server_add.sin_family=AF_INET;/*地址家族,对于必须是AF_INET,注意只有它不是网络网络字节顺序*/ /*服务器的地址,将一个点分十进制表示为IP地址,inet_ntoa是将地址转成字符串*/ Server_add.sin_addr.S_un.S_addr = inet_addr("192.168.1.238"); Server_add.sin_port=htons(5000);/*端口号*/ /*-----------------------------------------*/ /*-------------进行连接服务器--------------*/ /*-----------------------------------------*/ /*客户端创建套接字,但是不需要绑定的,只需要和服务器建立起连接就可以了,*/ /*socket_sendr表示的是套接字,Server_add服务器的地址结构*/ socket_send=socket(AF_INET,SOCK_STREAM,0); /*-----------------------------------------*/ /*-------------创建用于连接的套接字--------*/ /*-----------------------------------------*/ /*AF_INET表示指定地址族,SOCK_STREAM表示流式套接字TCP,特定的地址家族相关的协议。*/ if(connect(socket_send,(SOCKADDR*)&Server_add,sizeof(SOCKADDR)) == SOCKET_ERROR) { printf("连接失败!\n"); } /*-----------------------------------------*/ /*--------------进行聊天-------------------*/ /*-----------------------------------------*/ while(1) /*无限循环*/ { /*---------------发送数据过程----------*/ printf("please enter message:"); scanf("%s",Sendbuf); SendLen = send(socket_send,Sendbuf,100,0); /*发送数据*/ if(SendLen < 0) { printf("发送失败!\n"); } /*--------------接收数据过程---------------*/ ReceiveLen =recv(socket_send,Receivebuf,100,0); /*接受数据*/ if(ReceiveLen<0) { printf("接收失败\n"); printf("程序退出\n"); break; } else { printf("Server say: %s\n",Receivebuf); } } /*-----------------------------------------*/ /*---------释放套接字,关闭动态库----------*/ /*-----------------------------------------*/ closesocket(socket_send);/*释放套接字资源*/ WSACleanup();/*关闭动态链接库*/ return 0; }

关于socket Tcp客户端连接超时的问题

![图片说明](https://img-ask.csdn.net/upload/201708/11/1502431558_962329.png) 简单描述一下需求:我这里需要通过socket客户端长连接一直不停的往服务器发送数据,我这边也对socket就行判断了,如果连接不上就关闭再重新连接,过几个小时就会出现连接超时的情况,大致就是这样,求大神指教。。。

unity + mfc socket通信问题

新手小白。。 用MFC串口通信写了一个读取GPS仪器数据的程序,想用读取的GPS数据作为位置数据控制unity中物体的运动。[Unity与C++之间进行socket通信](http://www.cnblogs.com/EricTang/archive/2013/02/22/2922666.html "") 按照这篇文章做了一遍,总是提示“服务器连接失败”。。。。 求大神相助!!!!

VS2017,MFC,TCP通信,客户端无法连接调试助手

#1.自己所创建的客户端无法连接调试助手。 自己创建的客户端可以和自己创建的服务器端通信,调试助手连不了自己创建的服务器,自己创建的客户端也连不了调试助手。完全不知道问题出在哪了,, 两个客户端可以同时运行,端口和IP使用情况如下: ![图片说明](https://img-ask.csdn.net/upload/201901/17/1547695891_291269.png) #2.客户端核心代码如下: ##“连接”按钮的时间处理程序。 void CGeoDlg::OnBnClickedButton1() { // TODO: 在此添加控件通知处理程序代码 char ipaddress[35]; char port[8]; m_ipaddr.GetWindowText(ipaddress,30); cli.sin_addr.s_addr = inet_addr(ipaddress); cli.sin_family = AF_INET; cli.sin_port = m_ter.GetWindowText(port,8); //htons(5000); //创建socket clisock = socket(AF_INET, SOCK_STREAM, 0); //启动线程 ee = 1; AfxBeginThread(thread, 0); } ##线程AfxBeginThread()代码如下 UINT thread(LPVOID v) { char buff[100]; char array[25][30] = { "155.245.160.151", "155.245.160.152", "155.245.160.153", "155.245.160.154", "155.245.160.155", "155.245.160.156", "155.245.160.157", "155.245.160.158", "155.245.160.159", "155.245.160.160", "155.245.160.161", "155.245.160.162", "155.245.160.163", "155.245.160.164", "155.245.160.165", "155.245.160.166", "155.245.160.167", "155.245.160.168", "155.245.160.169", "155.245.160.170", "155.245.160.171", "155.245.160.172", "155.245.160.173", "155.245.160.174", "155.245.160.171" }; /*CSize size; size.cx = 0; size.cy = 30;*/ int s = 1, addcount = 0; CGeoDlg *dlg = (CGeoDlg*)AfxGetApp()->GetMainWnd(); dlg->m_connect.EnableWindow(FALSE); dlg->m_disconnect.EnableWindow(TRUE); //连接到服务器 while (connect(dlg->clisock, (sockaddr*)&(dlg->cli), sizeof(dlg->cli)) && dlg->ee != 0) { dlg->m_edit.SetWindowText("等待....."); //空循环 for (int i = 0; i <= 65000; i++) for (int j = 0; j <= 200; j++); if (addcount == 25) addcount = 0; dlg->cli.sin_addr.s_addr = inet_addr(array[addcount++]); } if (dlg->ee == 1) dlg->m_edit.SetWindowText( "连接成功"); //dlg->m_button1.EnableWindow(TRUE); dlg->SetForegroundWindow(); //循环获得数据 /*while (s != SOCKET_ERROR && dlg->ee != 0) { //调用recv函数接收数据 s = recv(dlg->clisock, buff, 100, 0); dlg->SetForegroundWindow(); if (s != SOCKET_ERROR && dlg->ee != 0) dlg->m_list.InsertItem(dlg->count++, buff); dlg->m_list.Scroll(size); }*/ //发送断开命令 send(dlg->clisock, "Disconnected", 100, 0); //dlg->m_button1.EnableWindow(FALSE); dlg->m_connect.EnableWindow(TRUE); dlg->m_disconnect.EnableWindow(FALSE); closesocket(dlg->clisock); AfxEndThread(0); return 0; } #3.完全不知到问题在哪 非计算机类专业,当时也没认真学,现在急着解决问题,实在不知道该怎么办了,,,

用vc写一个socket程序 实现两个客户端通过一个服务器的对话

初学socket 求详细教程,最好有C++源码 感激不尽

MFC TCP聊天程序,客户端为什么接受不到服务器发送的信息

客户端://连接服务器端 void CChat_TCPClientDlg::OnButtonConnnet() { m_socket = socket(AF_INET,SOCK_STREAM,0); int retconnect; unsigned short temport; UpdateData(TRUE);//刷新控件的值到变量上,刷新端口号 temport = (unsigned short)m_ClientPort; DWORD dwIP; ((CIPAddressCtrl*)GetDlgItem(IDC_IPADDRESS))->GetAddress(dwIP); sockaddr_in addrTo; addrTo.sin_addr.S_un.S_addr = htonl(dwIP); addrTo.sin_family = AF_INET; addrTo.sin_port = htons(temport); retconnect = connect(m_socket,(sockaddr*)&addrTo,sizeof(sockaddr)); if(SOCKET_ERROR == retconnect) { SetDlgItemText(IDC_EDIT_STATE,"连接失败"); return; } else SetDlgItemText(IDC_EDIT_STATE,"连接成功"); CButton *pButton=(CButton*)GetDlgItem(IDC_BUTTON_CONNNET); pButton->EnableWindow(FALSE); pButton=(CButton*)GetDlgItem(IDC_BUTTON_OUT); pButton->EnableWindow(TRUE); pButton=(CButton*)GetDlgItem(IDC_BUTTON_SEND); pButton->EnableWindow(TRUE); pButton=(CButton*)GetDlgItem(IDC_BUTTON_CLEAR); pButton->EnableWindow(TRUE); GetDlgItemText(IDC_EDIT_USERNAME,username); char NewMember[200]; CTime tm=CTime::GetCurrentTime(); CString str=tm.Format("%Y-%m-%d %H:%M:%S"); sprintf(NewMember,"%s--->进入聊天室 %s",username,str); send(m_socket,NewMember,sizeof(NewMember),0); HANDLE thread; thread=CreateThread(NULL,0,RecvProc,NULL,0,NULL); CloseHandle(thread); } DWORD WINAPI CChat_TCPClientDlg::RecvProc(LPVOID lpParameter) { CChat_TCPClientDlg* pDlg = (CChat_TCPClientDlg*)(::AfxGetApp()->GetMainWnd()); SOCKET ClientSocket; ClientSocket = pDlg->m_socket; HWND hwnd = pDlg->m_hWnd; int retrecv=0; char recvbuf[1024]; while(1) { memset(recvbuf,0,sizeof(recvbuf)); retrecv = recv(ClientSocket,recvbuf,1024,0); if(SOCKET_ERROR == retrecv) { ::SetDlgItemText(hwnd,IDC_EDIT_STATE,"连接断开"); break; } else { pDlg->m_ListRecv.AddString(recvbuf); pDlg->m_ListRecv.SetHorizontalExtent(10000); } } return 0; } void CChat_TCPClientDlg::OnButtonSend() { // TODO: Add your control notification handler code here CString tempSend; char strSend[300]; GetDlgItemText(IDC_EDIT_SEND,tempSend); GetDlgItemText(IDC_EDIT_USERNAME,username); sprintf(strSend,"%s说: %s",username,tempSend); int retsend; retsend = send(m_socket,strSend,strlen(strSend)+1,0); if(retsend==SOCKET_ERROR) { CButton *pButton=(CButton*)GetDlgItem(IDC_BUTTON_OUT); pButton->EnableWindow(FALSE); pButton=(CButton*)GetDlgItem(IDC_BUTTON_SEND); pButton->EnableWindow(FALSE); pButton=(CButton*)GetDlgItem(IDC_BUTTON_CLEAR); pButton->EnableWindow(FALSE); pButton=(CButton*)GetDlgItem(IDC_BUTTON_CONNNET); pButton->EnableWindow(TRUE); SetDlgItemText(IDC_EDIT_STATE,"连接断开"); } else { SetDlgItemText(IDC_EDIT_SEND,""); } } void CChat_TCPClientDlg::OnButtonOut() { // TODO: Add your control notification handler code here /* GetDlgItemText(IDC_EDIT_USERNAME,username); char leavechar[50]; sprintf(leavechar,"%s<---离开聊天室",username); send(m_socket,leavechar,sizeof(leavechar),0);*/ closesocket(m_socket); SetDlgItemText(IDC_EDIT_STATE,"没有连接"); CButton *pButton=(CButton*)GetDlgItem(IDC_BUTTON_CONNNET); pButton->EnableWindow(TRUE); pButton=(CButton*)GetDlgItem(IDC_BUTTON_OUT); pButton->EnableWindow(FALSE); pButton=(CButton*)GetDlgItem(IDC_BUTTON_SEND); pButton->EnableWindow(FALSE); pButton=(CButton*)GetDlgItem(IDC_BUTTON_CLEAR); pButton->EnableWindow(FALSE); } void CChat_TCPClientDlg::OnButtonClear() { // TODO: Add your control notification handler code here m_ListRecv.ResetContent(); } 服务器: // the minimized window. HCURSOR CChat_TCPSrvDlg::OnQueryDragIcon() { return (HCURSOR) m_hIcon; } BOOL CChat_TCPSrvDlg::InitSocket(unsigned short port) { //初始化连接套接字 ClientTotal = 0; for(int i=0;i<20;i++) { ClientSocket[i] = 0; ClientAddr[i] = ""; } //创建绑定监听套接字 m_socket = socket(AF_INET,SOCK_STREAM,0); if(INVALID_SOCKET==m_socket) { SysStr = "创建socket失败"; m_SysMsg.AddString(SysStr); return FALSE; } else { SysStr = "创建socket成功"; m_SysMsg.AddString(SysStr); m_SysMsg.SetHorizontalExtent(1000); } //地址族赋值 sockaddr_in addrsock; addrsock.sin_addr.S_un.S_addr = htonl(INADDR_ANY); addrsock.sin_family = AF_INET; addrsock.sin_port = htons(port); //绑定套接字 int retbind; retbind = bind(m_socket,(SOCKADDR*)&addrsock,sizeof(SOCKADDR)); if(SOCKET_ERROR==retbind) { closesocket(m_socket); SysStr = "bind 失败"; m_SysMsg.AddString(SysStr); SysStr = "启动失败"; m_SysMsg.AddString(SysStr); return FALSE; } else { SysStr = "bind成功"; m_SysMsg.AddString(SysStr); } //设置监听模式 if(listen(m_socket,20)!=0) { SysStr = "启动失败"; m_SysMsg.AddString(SysStr); return FALSE; } else { SysStr = "服务器启动成功"; m_SysMsg.AddString(SysStr); } return TRUE; } //启动服务器 void CChat_TCPSrvDlg::OnButtonStart() { // TODO: Add your control notification handler code here SrvState = TRUE; ClientTotal = 0; unsigned short temport; BOOL InitSock; UpdateData(TRUE); temport = m_Port; if(temport>=1025 && temport<=9999) { InitSock = InitSocket(temport); //调用初始化套接字 //让“启动按钮”不可用,和让“关闭按钮”可用 CButton *pButton=(CButton*)GetDlgItem(IDC_BUTTON_CLOSE); pButton->EnableWindow(); pButton=(CButton*)GetDlgItem(IDC_BUTTON_START); pButton->EnableWindow(FALSE); //创建一级线程,用于监听用户的连接 HANDLE hThread=CreateThread(NULL,0,AcceptClient,NULL,0,NULL); CloseHandle(hThread); } else { SysStr="端口号不在使用范围内,启动失败"; m_SysMsg.AddString(SysStr); m_SysMsg.SetHorizontalExtent(1000); } hMutex = CreateMutex(NULL,FALSE,NULL); } //一级线程,连接客户请求 DWORD WINAPI CChat_TCPSrvDlg::AcceptClient(LPVOID lpParameter) { CChat_TCPSrvDlg* pDlg = (CChat_TCPSrvDlg*)(::AfxGetApp()->GetMainWnd()); SOCKET socketacp = pDlg->m_socket; sockaddr_in addrClient; int len = sizeof(sockaddr); while(pDlg->SrvState) { pDlg->ClientSocket[pDlg->ClientTotal]=accept(socketacp,(SOCKADDR *)&addrClient,&len); WaitForSingleObject(pDlg->hMutex,INFINITE); pDlg->ClientTotal++; pDlg->SysStr = "新用户加入"; pDlg->m_SysMsg.AddString(pDlg->SysStr); ReleaseMutex(pDlg->hMutex); if(pDlg->ClientTotal==1) //只是用来启动二级进程,当第二个客户端连接上后,if语句不执行,recv进程一直在执行 { //创建二级线程,用于接收数据。 HANDLE hThread=CreateThread(NULL,0,RecvProc,NULL,0,NULL); CloseHandle(hThread); } } return 0; } //二级线程,接收用户消息,并显示 DWORD WINAPI CChat_TCPSrvDlg::RecvProc(LPVOID lpParameter) { CChat_TCPSrvDlg* pDlg1 = (CChat_TCPSrvDlg*)(::AfxGetApp()->GetMainWnd()); fd_set fsRead; timeval tm = {0,10000}; char recvBuf[200]; while(pDlg1->SrvState) { FD_ZERO(&fsRead); for(int m=0;m<(pDlg1->ClientTotal);m++) //对所有用户进行select监视 FD_SET((pDlg1->ClientSocket[m]),&fsRead); int retRead = select(pDlg1->ClientTotal+1,&fsRead,NULL,NULL,&tm); if(SOCKET_ERROR == retRead) return 1; else { for(int index=0;index<(pDlg1->ClientTotal);index++) { if(FD_ISSET(pDlg1->ClientSocket[index],&fsRead)) { memset(recvBuf,0,sizeof(recvBuf)); recv(pDlg1->ClientSocket[index],recvBuf,sizeof(recvBuf),0); if(strlen(recvBuf)==0) //判断用户是否退出 { pDlg1->SysStr = "有一个用户离开"; pDlg1->m_SysMsg.AddString(pDlg1->SysStr); pDlg1->ClientSocket[index] = pDlg1->ClientSocket[pDlg1->ClientTotal-1]; //将最后一个放到刚刚退出的client那里去 pDlg1->ClientSocket[pDlg1->ClientTotal-1] = 0; //保证所有未退出的客户端都在前面 if(pDlg1->ClientTotal==0) return 0; pDlg1->ClientTotal--; } else { pDlg1->m_UserMsg.AddString(recvBuf); pDlg1->m_UserMsg.SetHorizontalExtent(10000); for(int n=0;n<(pDlg1->ClientTotal);n++) { send(pDlg1->ClientSocket[n],recvBuf,sizeof(recvBuf),0); } } } } } } return 0; } //关闭服务器 void CChat_TCPSrvDlg::OnButtonClose() { // TODO: Add your control notification handler code here WaitForSingleObject(hMutex,INFINITE); SysStr="服务器已关闭"; m_SysMsg.AddString(SysStr); SrvState = FALSE; for(int k=0;k<ClientTotal;k++) send(ClientSocket[k],"服务器已关闭,请断开服务器重新连接",sizeof("服务器已关闭,请断开服务器重新连接")+1,0); closesocket(m_socket); while(ClientTotal>0) { closesocket(ClientSocket[ClientTotal-1]); ClientTotal--; } CButton *pButton=(CButton*)GetDlgItem(IDC_BUTTON_CLOSE); pButton->EnableWindow(FALSE); pButton=(CButton*)GetDlgItem(IDC_BUTTON_START); pButton->EnableWindow(); } void CChat_TCPSrvDlg::OnClickedButtonSend() { // TODO: 在此添加控件通知处理程序代码 CString tempSend; char strSend[300]; GetDlgItemText(IDC_EDIT_SEND,tempSend); sprintf(strSend,"服务器: %s",tempSend); send(m_socket,strSend,strlen(strSend)+1,0); m_UserMsg.AddString(strSend); SetDlgItemText(IDC_EDIT_SEND,""); } void CChat_TCPSrvDlg::OnClickedButtonClear() { // TODO: 在此添加控件通知处理程序代码 m_UserMsg.ResetContent(); } ![图片说明](https://img-ask.csdn.net/upload/201704/11/1491901491_164250.jpg)

socket5 客户端连接自动断开

我用socket5代理进行UDP转发, 首先建立一个TCP的通道, 就算我不发送任何UDP数据, 过一段时间后TCP也会断开链接, 请问该如何解决?

MFC SOCKET的问题!!

意思是这样的,按了连接后监听 然后收发嘛 看网上说默认是阻塞的 但是我这个客户端先是给服务端发一个数字再发一个名字 服务端接收都没问题 然后给客户端回的时候瞬间就都发完了 客户端接收就是无限的一个相同的汉字(程序就死了) 不知道是连接断了还是说这是在飞阻塞状态呢。。 为什么会这样啊 求大侠分析 服务端点了连接之后: if (!AfxSocketInit()) { return 1; } m_exit = false; CServer *aDlg = (CServer *)lParam; UINT nPort = 6000; //端口号 CSocket sockConn, serverSocket; if (!sockConn.Socket()) { aDlg->m_ListWords.AddString("创建失败"); return 1; } BOOL bOptVal = TRUE; int bOptLen = sizeof(BOOL); sockConn.SetSockOpt(SO_REUSEADDR, (void *)&bOptVal, bOptLen, SOL_SOCKET); if (!sockConn.Bind(nPort)) //绑定 { aDlg->m_ListWords.AddString("绑定失败"); return 1; } if(!sockConn.Listen(10)) //监听 可以连10个客户端 { aDlg->m_ListWords.AddString("监听失败"); return 1; } aDlg->m_ListWords.AddString("=====开始监听====="); CFootballApp *app1=(CFootballApp *)AfxGetApp(); while(!m_exit) //没有退出的话 { if(!sockConn.Accept(serverSocket)) //等待接入 { continue; } else { char recvBuf[20]; serverSocket.Receive(recvBuf,1); aDlg->m_ListWords.AddString("收到:"+recvBuf[0]); switch(recvBuf[0]) { case '1':{。。。 char sendBuf[20]; itoa(app1->c[i].cash,sendBuf,20);//转换数据类型 CString a; a.Format("%d", app1->c[i].cash); sockConn.Send(a, a.GetLength()); sockConn.Receive((void *)recvBuf, sizeof(recvBuf)); //收到确认后再继续发 。。。。。。。。。。。。。。 } serverSocket.Close(); } 。。 客户端 点连接搜索后: AfxSocketInit(); CSocket aSocket; CString strIP="127.0.0.2"; int nPort = 6000; if(!aSocket.Create()) { MessageBox("error"); return; } if(aSocket.Connect(strIP, nPort)) { char recvBuf[20] = {'\0'}; aSocket.Send("1", 1); string name; CEdit *edit=(CEdit *)GetDlgItem(IDC_NAME); //声明指向编辑框的指针 edit->GetWindowText(NAME); name=NAME.GetBuffer(0); aSocket.Send(name.c_str(), sizeof(name));//发送要查找的名字 aSocket.Receive((void *)recvBuf, sizeof(recvBuf)); if(recvBuf[0]!='!'){ //收到!代表没有找到此club mark=1; CString str; CEdit *edit=(CEdit *)GetDlgItem(IDC_cash); //首先接收到的是cash str.Format("%ch",recvBuf); edit->SetWindowText(str); aSocket.Send("ok", sizeof("ok")); //表示已接收 可继续发送 aSocket.Receive((void *)recvBuf, sizeof(recvBuf)); edit=(CEdit *)GetDlgItem(IDC_num); //接收到的是num str.Format("%ch",recvBuf); edit->SetWindowText(str); aSocket.Send("ok", sizeof("ok")); 。。。。。。。。。。。。。。。。。。。 } aSocket.Close(); }

MFC写的服务器程序向客户端发送信息send函数总是报错

我写了一个服务端程序和一个客户端程序,客户端向服务端发送信息没有问题,但是服务器一发送信息就报错,发送函数代码如下: int CConnectSock::SendData(CString strSend) { strSend = strSend + '\0'; int nLenBytes = 2 * strSend.GetLength(); char* pcSendBuf = new char[nLenBytes + 1]; ASSERT(pcSendBuf != NULL); size_t i; errno_t returnNumber; setlocale(LC_ALL, ""); returnNumber = wcstombs_s(&i, pcSendBuf, (size_t)(nLenBytes + 1), strSend.GetBuffer(), (size_t)nLenBytes); ASSERT(returnNumber == 0); int a = 0; a = Send(pcSendBuf, nLenBytes+50); // if no error occurs, return the total bytes sent DWORD dw = 0; dw = GetLastError(); return 0; }报错如下图,实在找不出问题,请各位大神指教![图片说明](https://img-ask.csdn.net/upload/201705/17/1494993327_677477.png)

MFC, TCP/IP客户端连接失败,API 错误码1967541584

1.编译可以顺利通过,在一个电脑上同时运行客户端和服务器时,连接正常,可以发送消息。 2.在两个电脑分别运行客户端和服务器时,客户端无法链接服务器,IP 和端口配置都是正确的,猜想问题应该出在客户端执行 connect 时出错。 3.一台电脑时在 accept 设置断点,顺利执行。两台电脑时在服务器端 accept 设置断点,没有执行。可知问题出现在客户端。 4.错误码返回时间大概在 20 s-24 s之间。 5.尝试过关掉网络防火墙,其中两台电脑分别是 win10,win7。也是连接不上 主要代码: ``` UINT nPort = atoi(szPort); //将字符串类型转换成数值类型 m_sock.Create(); if(m_sock.Connect(szIP, nPort)) { MessageBox("成功连接服务器","提示"); CString szFormat; szFormat.Format("%s----->%s",m_szName,"进入聊天室"); m_sock.Send(szFormat.GetBuffer(0), szFormat.GetLength()); } else { //连接服务器端运行的主机IP地址 CString str; str.Format("连接失败:%d",GetLastError); AfxMessageBox(str); } ``` 错误提示图片: ![图片说明](https://img-ask.csdn.net/upload/201905/11/1557565380_362851.png)

MFC界面按钮两种颜色变换

VC6.0MFC界面放置32个按钮,32个按钮在不打开的情况下为相同颜色。点击其中任何一个按钮(只能点击一个),被点击的按钮变为另一种颜色,其余31个为相同颜色。点击A按钮,A按钮变为在一种颜色,表示打开的同时 在一个编辑框内显示被打开按钮为几号。 求代码!!!谢谢!非诚勿扰!

MFC下socket的收到的数据是如何区别显示在不同的窗口中的呢,求大神们指导!

MFC下socket的收到的数据是如何区别显示在不同的窗口中的呢,本人是MFC,小菜鸟!求大神们指导!

OPC客户端 MFC界面里子对话框实现通信

主对话框照着例程写了,但是子对话框不知道怎么弄啊?子对话框的数据读写如何实现?初始化呢?还有组和item初始化怎么进行?

MFC CSocket 在VS2010下 客户端只能接收一次服务器的返回信息,并且之后的代码不能执行

CSocket sock_client; ...... void Cftp_clientDlg::OnBnClickedconnect() { AfxSocketInit(); if(!sock_client.Create()) { AfxMessageBox(_T("socket创建失败!")); return; } UpdateData(true); if(!sock_client.Connect(m_host,m_port)) { AfxMessageBox(_T("socket连接服务器失败!")); return; } MySockRecv(); CString send_msg; send_msg = "USER "; send_msg += m_name; send_msg += "\r\n"; MySockSend(send_msg); MySockRecv(); send_msg = "PASS "; send_msg += m_password; send_msg += "\r\n"; MySockSend(send_msg); MySockRecv(); } void Cftp_clientDlg::MySockRecv() { char buf_recv[200] = ""; if(SOCKET_ERROR == sock_client.Receive(buf_recv,199)) { AfxMessageBox(_T("数据接收失败!")); return; } CString show_msg("响应:"); show_msg += buf_recv; m_listbox.AddString(show_msg); } void Cftp_clientDlg::MySockSend(CString send_msg) { if(SOCKET_ERROR == sock_client.Send(send_msg,send_msg.GetLength())) { AfxMessageBox(_T("数据发送失败!")); return; } CString show_msg("命令:"); show_msg += send_msg; m_listbox.AddString(show_msg); }![图片说明](https://img-ask.csdn.net/upload/201704/19/1492606895_61386.png)

c++用socket连接,如何把服务器的本地文件夹目录传给客户端

c++用socket连接,如何把服务器的本地文件夹目录传给客户端,并且提供下载,求助

mfc 多个按钮 禁用 只响应当前按钮

在mfc 里用了3个按钮控件,关联变量mbnt1;mbnt2;mbnt3;每一个按钮按下先使得3个按钮全部disable禁用,执行完相应消息响应代码后在全部enable启用;如disable按钮代码为mbnt1.enablewindow(false);mbnt2.enablewindow(false);mbnt2.enablewindow(false);但是实际上在按钮1的消息响应里只有按钮1被disable,在按钮2的消息响应里只有按钮2被disable,按钮3同样,测试了很多次,enablewindow用关联变量或者是ID方法都试过,整个程序里有网络udp实时通信,串口实时通信,teechar实时画图,不知道什么问题,测试很多还没有解决求大神指点!!!

VC++2010 MFC Socket的一个小问题。希望各路大神帮忙解答一下。谢谢。

是一个单向通讯的小程序。客户端通过IP和对应端口连接。服务器端监听接收。服务器端监听暂时没有问题,但是客户端连接时出现debug assertion failed错误。重试后触发断点,在调用堆栈里最近的一个自己写的就是连接按钮。连接按钮代码如下: BYTE nFild[4]; CString sIP; UpdateData(); ServerIP.GetAddress(nFild[0],nFild[1],nFild[2],nFild[3]);//ServerIP是ip控件 sIP.Format("%d.%d.%d.%d",nFild[0],nFild[1],nFild[2],nFild[3]); m_ClientSocket.Create();///m_ClientSocket是Socket对象 m_ClientSocket.Connect(sIP,sPort);

linux下利用/proc进行进程树的打印

在linux下利用c语言实现的进程树的打印,主要通过/proc下的目录中的进程文件,获取status中的进程信息内容,然后利用递归实现进程树的打印

设计模式(JAVA语言实现)--20种设计模式附带源码

课程亮点: 课程培训详细的笔记以及实例代码,让学员开始掌握设计模式知识点 课程内容: 工厂模式、桥接模式、组合模式、装饰器模式、外观模式、享元模式、原型模型、代理模式、单例模式、适配器模式 策略模式、模板方法模式、观察者模式、迭代器模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式 课程特色: 笔记设计模式,用笔记串连所有知识点,让学员从一点一滴积累,学习过程无压力 笔记标题采用关键字标识法,帮助学员更加容易记住知识点 笔记以超链接形式让知识点关联起来,形式知识体系 采用先概念后实例再应用方式,知识点深入浅出 提供授课内容笔记作为课后复习以及工作备查工具 部分图表(电脑PC端查看):

Python数据分析与挖掘

92讲视频课+16大项目实战+源码+¥800元课程礼包+讲师社群1V1答疑+社群闭门分享会=99元 &nbsp; 为什么学习数据分析? &nbsp; &nbsp; &nbsp; 人工智能、大数据时代有什么技能是可以运用在各种行业的?数据分析就是。 &nbsp; &nbsp; &nbsp; 从海量数据中获得别人看不见的信息,创业者可以通过数据分析来优化产品,营销人员可以通过数据分析改进营销策略,产品经理可以通过数据分析洞察用户习惯,金融从业者可以通过数据分析规避投资风险,程序员可以通过数据分析进一步挖掘出数据价值,它和编程一样,本质上也是一个工具,通过数据来对现实事物进行分析和识别的能力。不管你从事什么行业,掌握了数据分析能力,往往在其岗位上更有竞争力。 &nbsp;&nbsp; 本课程共包含五大模块: 一、先导篇: 通过分析数据分析师的一天,让学员了解全面了解成为一个数据分析师的所有必修功法,对数据分析师不在迷惑。 &nbsp; 二、基础篇: 围绕Python基础语法介绍、数据预处理、数据可视化以及数据分析与挖掘......这些核心技能模块展开,帮助你快速而全面的掌握和了解成为一个数据分析师的所有必修功法。 &nbsp; 三、数据采集篇: 通过网络爬虫实战解决数据分析的必经之路:数据从何来的问题,讲解常见的爬虫套路并利用三大实战帮助学员扎实数据采集能力,避免没有数据可分析的尴尬。 &nbsp; 四、分析工具篇: 讲解数据分析避不开的科学计算库Numpy、数据分析工具Pandas及常见可视化工具Matplotlib。 &nbsp; 五、算法篇: 算法是数据分析的精华,课程精选10大算法,包括分类、聚类、预测3大类型,每个算法都从原理和案例两个角度学习,让你不仅能用起来,了解原理,还能知道为什么这么做。

广工操作系统课程设计(文档+代码+可执行文件)

实现作业调度(先来先服务)、进程调度功能(时间片轮转) 实现内存管理功能(连续分配)。 实现文件系统功能(选作) 这些功能要有机地连接起来

Only老K说-爬取妹子图片(简单入门)

安装第三方请求库 requests 被网站禁止了访问 原因是我们是Python过来的 重新给一段 可能还是存在用不了,使用网页的 编写代码 上面注意看匹配内容 User-Agent:请求对象 AppleWebKit:请求内核 Chrome浏览器 //请求网页 import requests import re //正则表达式 就是去不规则的网页里面提取有规律的信息 headers = { 'User-Agent':'存放浏览器里面的' } response = requests.get

linux“开发工具三剑客”速成攻略

工欲善其事,必先利其器。Vim+Git+Makefile是Linux环境下嵌入式开发常用的工具。本专题主要面向初次接触Linux的新手,熟练掌握工作中常用的工具,在以后的学习和工作中提高效率。

Python代码实现飞机大战

文章目录经典飞机大战一.游戏设定二.我方飞机三.敌方飞机四.发射子弹五.发放补给包六.主模块 经典飞机大战 源代码以及素材资料(图片,音频)可从下面的github中下载: 飞机大战源代码以及素材资料github项目地址链接 ————————————————————————————————————————————————————————— 不知道大家有没有打过飞机,喜不喜欢打飞机。当我第一次接触这个东西的时候,我的内心是被震撼到的。第一次接触打飞机的时候作者本人是身心愉悦的,因为周边的朋友都在打飞机, 每

Python数据清洗实战入门

本次课程主要以真实的电商数据为基础,通过Python详细的介绍了数据分析中的数据清洗阶段各种技巧和方法。

2019 Python开发者日-培训

本次活动将秉承“只讲技术,拒绝空谈”的理念,邀请十余位身处一线的Python技术专家,重点围绕Web开发、自动化运维、数据分析、人工智能等技术模块,分享真实生产环境中使用Python应对IT挑战的真知灼见。此外,针对不同层次的开发者,大会还安排了深度培训实操环节,为开发者们带来更多深度实战的机会。

apache-jmeter-5.1.1(Requires Java 8+).zip

。Apache JMeter 5.1.1 (Requires Java 8+),需要jdk8以上的版本。

数通HCNP中文理论全套教材.rar

内涵HCNP-IENP中文理论书-内文,

Python可以这样学(第四季:数据分析与科学计算可视化)

董付国老师系列教材《Python程序设计(第2版)》(ISBN:9787302436515)、《Python可以这样学》(ISBN:9787302456469)配套视频,在教材基础上又增加了大量内容,通过实例讲解numpy、scipy、pandas、statistics、matplotlib等标准库和扩展库用法。

Java基础知识面试题(2020最新版)

文章目录Java概述何为编程什么是Javajdk1.5之后的三大版本JVM、JRE和JDK的关系什么是跨平台性?原理是什么Java语言有哪些特点什么是字节码?采用字节码的最大好处是什么什么是Java程序的主类?应用程序和小程序的主类有何不同?Java应用程序与小程序之间有那些差别?Java和C++的区别Oracle JDK 和 OpenJDK 的对比基础语法数据类型Java有哪些数据类型switc...

我以为我对Mysql事务很熟,直到我遇到了阿里面试官

太惨了,面试又被吊打

2019 AI开发者大会

2019 AI开发者大会(AI ProCon 2019)是由中国IT社区CSDN主办的AI技术与产业年度盛会。多年经验淬炼,如今蓄势待发:2019年9月6-7日,大会将有近百位中美顶尖AI专家、知名企业代表以及千余名AI开发者齐聚北京,进行技术解读和产业论证。我们不空谈口号,只谈技术,诚挚邀请AI业内人士一起共铸人工智能新篇章!

图书管理系统(Java + Mysql)我的第一个完全自己做的实训项目

图书管理系统 Java + MySQL 完整实训代码,MVC三层架构组织,包含所有用到的图片资源以及数据库文件,大三上学期实训,注释很详细,按照阿里巴巴Java编程规范编写

Python数据挖掘简易入门

&nbsp; &nbsp; &nbsp; &nbsp; 本课程为Python数据挖掘方向的入门课程,课程主要以真实数据为基础,详细介绍数据挖掘入门的流程和使用Python实现pandas与numpy在数据挖掘方向的运用,并深入学习如何运用scikit-learn调用常用的数据挖掘算法解决数据挖掘问题,为进一步深入学习数据挖掘打下扎实的基础。

C/C++学习指南全套教程

C/C++学习的全套教程,从基本语法,基本原理,到界面开发、网络开发、Linux开发、安全算法,应用尽用。由毕业于清华大学的业内人士执课,为C/C++编程爱好者的教程。

微信公众平台开发入门

本套课程的设计完全是为初学者量身打造,课程内容由浅入深,课程讲解通俗易懂,代码实现简洁清晰。通过本课程的学习,学员能够入门微信公众平台开发,能够胜任企业级的订阅号、服务号、企业号的应用开发工作。 通过本课程的学习,学员能够对微信公众平台有一个清晰的、系统性的认识。例如,公众号是什么,它有什么特点,它能做什么,怎么开发公众号。 其次,通过本课程的学习,学员能够掌握微信公众平台开发的方法、技术和应用实现。例如,开发者文档怎么看,开发环境怎么搭建,基本的消息交互如何实现,常用的方法技巧有哪些,真实应用怎么开发。

三个项目玩转深度学习(附1G源码)

从事大数据与人工智能开发与实践约十年,钱老师亲自见证了大数据行业的发展与人工智能的从冷到热。事实证明,计算机技术的发展,算力突破,海量数据,机器人技术等,开启了第四次工业革命的序章。深度学习图像分类一直是人工智能的经典任务,是智慧零售、安防、无人驾驶等机器视觉应用领域的核心技术之一,掌握图像分类技术是机器视觉学习的重中之重。针对现有线上学习的特点与实际需求,我们开发了人工智能案例实战系列课程。打造:以项目案例实践为驱动的课程学习方式,覆盖了智能零售,智慧交通等常见领域,通过基础学习、项目案例实践、社群答疑,三维立体的方式,打造最好的学习效果。

2021考研数学张宇基础30讲.pdf

张宇:博士,全国著名考研数学辅导专家,教育部“国家精品课程建设骨干教师”,全国畅销书《张宇高等数学18讲》《张宇线性代数9讲》《张宇概率论与数理统计9讲》《张宇考研数学题源探析经典1000题》《张宇考

专为程序员设计的数学课

<p> 限时福利限时福利,<span>15000+程序员的选择!</span> </p> <p> 购课后添加学习助手(微信号:csdn590),按提示消息领取编程大礼包!并获取讲师答疑服务! </p> <p> <br> </p> <p> 套餐中一共包含5门程序员必学的数学课程(共47讲) </p> <p> 课程1:《零基础入门微积分》 </p> <p> 课程2:《数理统计与概率论》 </p> <p> 课程3:《代码学习线性代数》 </p> <p> 课程4:《数据处理的最优化》 </p> <p> 课程5:《马尔可夫随机过程》 </p> <p> <br> </p> <p> 哪些人适合学习这门课程? </p> <p> 1)大学生,平时只学习了数学理论,并未接触如何应用数学解决编程问题; </p> <p> 2)对算法、数据结构掌握程度薄弱的人,数学可以让你更好的理解算法、数据结构原理及应用; </p> <p> 3)看不懂大牛代码设计思想的人,因为所有的程序设计底层逻辑都是数学; </p> <p> 4)想学习新技术,如:人工智能、机器学习、深度学习等,这门课程是你的必修课程; </p> <p> 5)想修炼更好的编程内功,在遇到问题时可以灵活的应用数学思维解决问题。 </p> <p> <br> </p> <p> 在这门「专为程序员设计的数学课」系列课中,我们保证你能收获到这些:<br> <br> <span> </span> </p> <p class="ql-long-24357476"> <span class="ql-author-24357476">①价值300元编程课程大礼包</span> </p> <p class="ql-long-24357476"> <span class="ql-author-24357476">②应用数学优化代码的实操方法</span> </p> <p class="ql-long-24357476"> <span class="ql-author-24357476">③数学理论在编程实战中的应用</span> </p> <p class="ql-long-24357476"> <span class="ql-author-24357476">④程序员必学的5大数学知识</span> </p> <p class="ql-long-24357476"> <span class="ql-author-24357476">⑤人工智能领域必修数学课</span> </p> <p> <br> 备注:此课程只讲程序员所需要的数学,即使你数学基础薄弱,也能听懂,只需要初中的数学知识就足矣。<br> <br> 如何听课? </p> <p> 1、登录CSDN学院 APP 在我的课程中进行学习; </p> <p> 2、登录CSDN学院官网。 </p> <p> <br> </p> <p> 购课后如何领取免费赠送的编程大礼包和加入答疑群? </p> <p> 购课后,添加助教微信:<span> csdn590</span>,按提示领取编程大礼包,或观看付费视频的第一节内容扫码进群答疑交流! </p> <p> <img src="https://img-bss.csdn.net/201912251155398753.jpg" alt=""> </p>

DDR5_Draft_Spec_Rev05c.pdf

DDR5 spec

Java面试史上最全的JAVA专业术语面试100问 (前1-50)

前言: 说在前面, 面试题是根据一些朋友去面试提供的,再就是从网上整理了一些。 先更新50道,下一波吧后面的也更出来。 求赞求关注!! 废话也不多说,现在就来看看有哪些面试题 1、面向对象的特点有哪些? 抽象、继承、封装、多态。 2、接口和抽象类有什么联系和区别? 3、重载和重写有什么区别? 4、java有哪些基本数据类型? 5、数组有没有length()方法?String有没有length()方法? 数组没有length()方法,它有length属性。 String有length()方法。 集合求长度用

网络工程师小白入门--【思科CCNA、华为HCNA等网络工程师认证】

本课程适合CCNA或HCNA网络小白同志,高手请绕道,可以直接学习进价课程。通过本预科课程的学习,为学习网络工程师、思科CCNA、华为HCNA这些认证打下坚实的基础! 重要!思科认证2020年2月24日起,已启用新版认证和考试,包括题库都会更新,由于疫情原因,请关注官网和本地考点信息。题库网络上很容易下载到。

C/C++跨平台研发从基础到高阶实战系列套餐

一 专题从基础的C语言核心到c++ 和stl完成基础强化; 二 再到数据结构,设计模式完成专业计算机技能强化; 三 通过跨平台网络编程,linux编程,qt界面编程,mfc编程,windows编程,c++与lua联合编程来完成应用强化 四 最后通过基于ffmpeg的音视频播放器,直播推流,屏幕录像,

Python界面版学生管理系统

前不久上传了一个控制台版本的学生管理系统,这个是Python界面版学生管理系统,这个是使用pycharm开发的一个有界面的学生管理系统,基本的增删改查,里面又演示视频和完整代码,有需要的伙伴可以自行下

2019数学建模A题高压油管的压力控制 省一论文即代码

2019数学建模A题高压油管的压力控制省一完整论文即详细C++和Matlab代码,希望对同学们有所帮助

4小时玩转微信小程序——基础入门与微信支付实战

这是一个门针对零基础学员学习微信小程序开发的视频教学课程。课程采用腾讯官方文档作为教程的唯一技术资料来源。杜绝网络上质量良莠不齐的资料给学员学习带来的障碍。 视频课程按照开发工具的下载、安装、使用、程序结构、视图层、逻辑层、微信小程序等几个部分组织课程,详细讲解整个小程序的开发过程

相关热词 c# 不能序列化继承类 c# char* 调用 c# 开发dll模板 c#添加控件到工具箱 c#控制台组合数 编程计算猴子吃桃问题c# c# wpf 背景透明 随机抽取号码软件c# c# 开发环境 c# 属性和字段
立即提问