上一页 1 ··· 7 8 9 10 11

2011年12月29日

ON_COMMAND_RANGE用法

摘要: afx_msgvoidOnOutPutStatusButtonUp(WPARAMwParam,LPARAMlParam);BEGIN_MESSAGE_MAP(CIOStatue,CDialog)//{{AFX_MSG_MAP(CIOStatue)//}}AFX_MSG_MAPON_COMMAND_RANGE(IDC_STATIC_OUT1,IDC_STATIC_OUT16,OnOutPutStatusButtonUp)END_MESSAGE_MAP()//注意IDC_STATIC_OUT1,IDC_STATIC_OUT16之间是连续的voidCIOStatue::OnOutPutStatusB 阅读全文

posted @ 2011-12-29 18:59 Sunny_NUAA 阅读(476) 评论(0) 推荐(0) 编辑

2011年12月23日

一个基于TCP的多线程文件下载模型

摘要: 服务端代码:View Code 1 UINT MTServerThread(LPVOID pParam); 2 UINT ClientThread(LPVOID pParam); 3 BOOL ParseCmd(char *str, CString& cmd, CString& params); 4 BOOL SendFile(SOCKET s, CString fname); 5 6 SOCKET server; 7 8 9 void CFileServerDlg::OnButton1() 10 { 11 // TODO: Add your control... 阅读全文

posted @ 2011-12-23 22:12 Sunny_NUAA 阅读(481) 评论(0) 推荐(0) 编辑

CString用法整理

摘要: VC:CString用法整理(转载) 1.CString::IsEmpty BOOL IsEmpty( ) const; 返回值:如果CString 对象的长度为0,则返回非零值;否则返回0。 说明:此成员函数用来测试一个CString 对象是否是空的。 示例: 下面的例子说明了如何使用CString::IsEmpty。 // CString::IsEmpty 示例 CString s; ASSERT( s.IsEmpty() ); 请参阅 CString::GetLength 2.CString::Left CString Left( int nCount ) const; throw( . 阅读全文

posted @ 2011-12-23 19:19 Sunny_NUAA 阅读(265) 评论(0) 推荐(0) 编辑

根据主机名获取IP地址

摘要: View Code 1 int CGetHostNameIPDlg::GetLocalIpAddress(const CString& sHostName, CString& sIPAddress) 2 { 3 struct hostent FAR *lpHostEnt = gethostbyname(sHostName); 4 if (lpHostEnt == NULL) 5 { 6 sIPAddress=_T(""); 7 return WSAGetLastError(); 8 } 9 LPSTR lpAddr = ... 阅读全文

posted @ 2011-12-23 19:11 Sunny_NUAA 阅读(631) 评论(0) 推荐(0) 编辑

获取本地主机名

摘要: View Code 1 int CGetHostNameIPDlg::GetLocalHostName(CString& sHostName) 2 { 3 char szHostName[256]; 4 int nRetCode; 5 6 nRetCode = gethostname(szHostName, sizeof(szHostName)); 7 8 if (nRetCode != 0) { 9 // An error has occurred10 sHostName = _T("Not availa... 阅读全文

posted @ 2011-12-23 19:09 Sunny_NUAA 阅读(212) 评论(0) 推荐(0) 编辑

memmove和memcpy

摘要: 1.memmove函数原型:void *memmove(void *dest, const void *source, size_t count)返回值说明:返回指向dest的void *指针参数说明:dest,source分别为目标串和源串的首地址。count为要移动的字符的个数函数说明:memmove用于从source拷贝count个字符到dest,如果目标区域和源区域有重叠的话,memmove能够保证源串在被覆盖之前将重叠区域的字节拷贝到目标区域中。2.memcpy函数原型:void *memcpy(void *dest,const void *source,size_tcount);返 阅读全文

posted @ 2011-12-23 18:17 Sunny_NUAA 阅读(213) 评论(0) 推荐(0) 编辑

2011年12月22日

TCP单线程服务端

摘要: 1 #include <WINSOCK2.H> 2 #include <iostream> 3 #pragma comment(lib, "WS2_32") 4 5 6 UINT SrvThread(LPVOID pParam) 7 { 8 // SOCKET实际上是一个unsigned int类型 9 SOCKET server;10 // WSADATA结构将有WSAStartup函数来填充11 WSADATA wsaData;12 // 对TCP/IP 套接字来说,sockaddr_in结构指定了套接字的地址13 // 其他协议使... 阅读全文

posted @ 2011-12-22 22:05 Sunny_NUAA 阅读(469) 评论(0) 推荐(0) 编辑

CSocket进行UDP通信

摘要: 客户端:MySocket类 1 class MySocket : public CSocket 2 { 3 public: 4 MySocket(); 5 virtual ~MySocket(); 6 SOCKADDR_IN ClientAddr; 7 public: 8 // ClassWizard generated virtual function overrides 9 //{{AFX_VIRTUAL(MySocket)10 public:11 virtual void OnReceive(int nErrorCode);12 v... 阅读全文

posted @ 2011-12-22 21:31 Sunny_NUAA 阅读(9846) 评论(0) 推荐(0) 编辑

CAsyncSocket进行TCP通行

摘要: 服务端代码:CNewSocket类 1 class CNewSocket : public CAsyncSocket 2 { 3 public: 4 UINT m_nLength; 5 char m_szBuffer[4096]; 6 7 public: 8 CNewSocket(); 9 virtual ~CNewSocket();10 public:11 // ClassWizard generated virtual function overrides12 //{{AFX_VIRTUAL(CNewSocket)13 public:14 ... 阅读全文

posted @ 2011-12-22 19:19 Sunny_NUAA 阅读(1066) 评论(0) 推荐(0) 编辑

CAsyncSocket进行UDP通信

摘要: 客户端代码:CString m_ServerIP;CString m_ClientIP;int m_ClientPort;CString m_ReceiveData;UINT m_ServerPort;CAsyncSocket m_sockReceive;m_ServerIP="127.0.0.1";m_ClientIP="127.0.0.1";m_ClientPort=6665;m_ServerPort=6666;void CSocketUDPClientDlg::OnReceive() { // TODO: Add your control noti 阅读全文

posted @ 2011-12-22 16:47 Sunny_NUAA 阅读(1986) 评论(0) 推荐(0) 编辑

上一页 1 ··· 7 8 9 10 11

导航