登录
首页 » C# » AsyncTcp

AsyncTcp

于 2013-08-26 发布 文件大小:26KB
0 154
下载积分: 1 下载次数: 1

代码说明:

  一般的聊天程序都是使用socket方式通讯的。对于一个聊天程序来说一般是一个服务器用来中转消息,然后是多个客户端通过连接服务器来消息交换。(General chat programs are using the socket mode of communication. For a chat program, it is generally a server used to relay the message, then multiple clients to connect to the server through the exchange of messages.)

下载说明:请别用迅雷下载,失败请重下,重下不扣分!

发表评论

0 个回复

  • c++ 邮件群发 例子源码
       #include "stdafx.h" #include #include #include "Resource.h" #include "TabDlg1.h" #include "winsock2.h"#include "stdafx.h"#include #include #include "Resource.h"#include "MainDlg.h" #include "TabDlg1.h" #include "TabDlg2.h" #include "TabDlg3.h" #include "winsock2.h"#define WM_CLICKBIT (WM_USER 1) //最小化,消息定义NOTIFYICONDATA nid;RECT RectForm; //广告窗口坐标 HFONT hFontURLNotVisit;//字体HFONT hFontURLVisited;extern TCHAR tcRunPath[MAX_PATH]; //程序当前路径目录HINSTANCE hInst; static HWND Child1hWnd,Child2hWnd,Child3hWnd; //TAB Control 3个子窗口句柄int initDialog(HWND hwnd)//初始化TAB CTR控件{ //TCHAR szWebSite[100]="http://returnc.com/archives/300.html"; //ShellExecute(hwnd,TEXT("open"),szWebSite,TEXT(""),NULL,SW_SHOWMAXIMIZED); HWND hwndTab = GetDlgItem(hwnd, IDC_TAB1); InitCommonControls(); TCITEM ItemStruct;//定义TAB的参数的结构体 ItemStruct.mask = TCIF_TEXT;//标签 ItemStruct.iImage = 0;//图像 ItemStruct.lParam = 0; ItemStruct.pszText = "SMTP设置";//选项的字符 ItemStruct.cchTextMax = 10; SendMessage(hwndTab, TCM_INSERTITEM, 0, (LPARAM)&ItemStruct);//不用SendMessage用 //TabCtrl_InsertItem(hwndTab,0,&ItemStruct);是一样一样的。 ItemStruct.pszText = "邮件内容";//同上,就是重新定义一下选项的字符 SendMessage(hwndTab, TCM_INSERTITEM, 1, (LPARAM)&ItemStruct); ItemStruct.pszText = "收件箱"; SendMessage(hwndTab, TCM_INSERTITEM, 2, (LPARAM)&ItemStruct); //Child1hWnd = CreateDialogParam(hInst, MAKEINTRESOURCE(IDD_DIALOG1), hwndTab, (DLGPROC)NULL, 0); //网上出现的是上面这个版本,我一开始用这个,给折腾到死都没得到子窗口控件,得不到控件就没法设置了 //因为后面的(DLGPROC)被置空了。这里置空,TAB只能当摆设,所以改成你自己建好的TAB1.CPP中的PROC函数就好了 Child1hWnd = CreateDialogParam((HINSTANCE) GetWindowLong(hwnd, GWL_HINSTANCE),MAKEINTRESOURCE(IDD_DIALOG1),hwndTab,(DLGPROC)TAB1_Proc,0);//创建子窗口 Child2hWnd = CreateDialogParam((HINSTANCE) GetWindowLong(hwnd, GWL_HINSTANCE),MAKEINTRESOURCE(IDD_DIALOG2),hwndTab,(DLGPROC)TAB2_Proc,0); Child3hWnd = CreateDialogParam((HINSTANCE) GetWindowLong(hwnd, GWL_HINSTANCE),MAKEINTRESOURCE(IDD_DIALOG3),hwndTab,(DLGPROC)TAB3_Proc,0); ShowWindow(Child1hWnd, SW_SHOWDEFAULT); //默认显示一下第一个窗口 return 0; } BOOL WINAPI Main_Proc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam){ HWND hwndTab = GetDlgItem(hWnd, IDC_TAB1);//TAB Control句柄 HWND hwnd_Link=GetDlgItem(hWnd,IDC_SYSLINK1);//Syslink Control 文字链接——版权句柄 switch(uMsg) { HANDLE_MSG(hWnd, WM_INITDIALOG, Main_OnInitDialog); HANDLE_MSG(hWnd, WM_COMMAND, Main_OnCommand); HANDLE_MSG(hWnd,WM_CLOSE, Main_OnClose); HANDLE_MSG(hWnd, WM_SYSCOMMAND, Main_OnSysCommand); //最小化到托盘 HANDLE_MSG(hWnd,WM_LBUTTONDOWN,Main_OnLButtonDown);//左键点击 HANDLE_MSG(hWnd,WM_MOUSEMOVE, Main_OnMouseMove); //鼠标移动范围 HANDLE_MSG(hWnd,WM_PAINT, Main_OnPaint); //点击后显示网站 //HANDLE_MSG(hwnd,WM_CTLCOLORSTATIC, Main_OnCtlColor); case WM_CLICKBIT://最小化后,点击图标 { if(wParam == IDI_ICON1) { switch(lParam) { case WM_LBUTTONDBLCLK://左键双击事件 { ShowWindow(hWnd, SW_SHOWNORMAL); //显示窗口 Shell_NotifyIcon(NIM_DELETE, &nid);//删除托盘图标 SetWindowPos(hWnd, HWND_TOP, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE);//设置窗口坐标 } break; case WM_RBUTTONUP://右键起来时弹出快捷菜单,待完善” { MessageBox(hWnd,TEXT("作者比较懒,右键功能还没添加,双击左键恢复主窗口"),TEXT("憨笑"),MB_OK); } break; default: // ShowWindow(hWnd, SW_HIDE); break; } return TRUE; } else { return FALSE; } } break; case WM_NOTIFY: { /* switch (((LPNMHDR)lParam)->code)//文字链接部分 //TAB CONTROL 控件选择操作&文字链接 **********这一段经百次测试,10分之一左右的概率出现内存读取错误,疑似(LPNMHDR)lParam)->code读取问题 { case NM_CLICK ://点击 //case NM_RETURN ://回车键都可以打开链接 { PNMLINK pNMLink = (PNMLINK)lParam; LITEM item = pNMLink->item; NMHDR hdr = pNMLink->hdr; if ((hdr.hwndFrom == hwnd_Link) && (item.iLink == 0)) { ShellExecute(hWnd,TEXT("open"),"http://www.bachengxie.com/?p=300",TEXT(""),NULL,SW_SHOWMAXIMIZED);//打开网站 return TRUE; } else { return FALSE; } } break; default: break; } */ if ( *(LPDWORD)((LPBYTE)lParam 8)==TCN_SELCHANGE ) //子窗口选择 { int i = TabCtrl_GetCurSel(hwndTab);//返回TAB CTR选择页编号,显示对应窗口数据 switch (i) { case 0: { ShowWindow(Child1hWnd,SW_SHOWDEFAULT); ShowWindow(Child2hWnd,SW_HIDE); ShowWindow(Child3hWnd,SW_HIDE); } break; case 1: { ShowWindow(Child2hWnd,SW_SHOWDEFAULT); ShowWindow(Child1hWnd,SW_HIDE); ShowWindow(Child3hWnd,SW_HIDE); } break; case 2: { ShowWindow(Child3hWnd,SW_SHOWDEFAULT); ShowWindow(Child1hWnd,SW_HIDE); ShowWindow(Child2hWnd,SW_HIDE); } break; default: break; } return TRUE; } else { return FALSE; } } break; default: break; } return FALSE; }BOOL Main_OnInitDialog(HWND hwnd, HWND hwndFocus, LPARAM lParam){ SkinH_AttachEx(("skins/china.she"), NULL); //载入皮肤 initDialog(hwnd); //初始化TAB控件 hFontURLNotVisit=CreateFont(15,6,0,0,0,FALSE,FALSE,FALSE,DEFAULT_CHARSET,OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,FF_DONTCARE,"黑体");//设置TAB控件字体大小 //SendDlgItemMessage(hwnd,IDC_TAB1,WM_SETFONT,(WPARAM)hFontURLNotVisit,0); //设置TAB字体 return TRUE;}void Main_OnCommand(HWND hwnd, int id, HWND hwndCtl, UINT codeNotify){ switch(id) { case IDC_TOTRAY: { ToTray(hwnd); //最小化到系统托盘 } break; case ID_HELP: { ShellExecute(NULL,"open","ReadMe.txt",NULL,NULL,SW_SHOWNORMAL); //打开ReadMe文本。 } break; default: break; }}void Main_OnClose(HWND hwnd){ SkinH_Detach(); //释放窗口皮肤 EndDialog(hwnd, 0);}void Main_OnPaint(HWND hwnd) //设置起始点及图片大小{ GetClientRect(hwnd,&RectForm); MoveWindow(GetDlgItem(hwnd,IDC_STATIC_AD),RectForm.left 20,RectForm.top 20,523,80,TRUE); //X,Y分别为30和20的顶点坐标,长为430,宽为90,自我理解} void Main_OnLButtonDown(HWND hwnd, BOOL fDoubleClick, int x, int y, UINT keyFlags){ GetClientRect(hwnd,&RectForm); if(x>=RectForm.left 20 && x=RectForm.top 20 && y=RectForm.left 20 && x=RectForm.top 20 && y
    2014-12-15下载
    积分:1
  • VCNetworkhigh-levelprogramming
    本书主要面向具有一定VC网络编程基础并希望学习较高层次编程技术的读者(The book has some major VC-oriented network programming base and hopes to learn higher-level programming technology readers)
    2008-12-25 09:30:49下载
    积分:1
  • TCP
    TCP通信示例程序,很好用的网络通信例程(TCP communication sample program, the good network communication routines)
    2014-03-14 11:25:31下载
    积分:1
  • 服务信息管理系统
    服务信息管理系统- Service information management system management system
    2023-04-29 03:50:03下载
    积分:1
  • MTF
    从光学系统的成像点列图计算系统MTF的简单小程序(Caculate the MTF of a optical system from its spt)
    2017-12-12 21:31:48下载
    积分:1
  • 可以在局域内互发短消息; 为PING提供GUI界面 自动PING代理服务器,检查哪个服务器有效...
    可以在局域网内互发网络短消息; 为PING提供GUI界面 自动PING代理服务器,检查哪个服务器有效-Can be issued in the LAN inter-network short message PING provides GUI interface for automatic PING proxy server, check which server effectively
    2022-06-13 23:17:34下载
    积分:1
  • 用C实现的Ping序,实现的功能与Windows的Ping部分功能相同。可用于初学用...
    用C实现的Ping程序,实现的功能与Windows的Ping部分功能相同。可用于网络编程初学用-C realized Ping procedures, functions and the Windows Ping part of the same functions. Network programming can be used with learning
    2023-05-12 18:40:02下载
    积分:1
  • TheExam
    局域网考试系统 VC++ 在线考试系统 Access SQL Server VC++在线考试系统可连接Access 或SQL Server(LAN VC++ Online Test System Test System Access SQL Server VC++ online examination system can be connected to Access or SQL Server)
    2011-05-16 10:32:25下载
    积分:1
  • 局域数据包分析
    捕获局域网内的数据包,并从中的到数据,和相关信息,没开线程,我vc初学,欢迎朋友对它改进,别忘发我一份fecon@tom.com,用winpcap捕获.先安装winpcap3.1,注意改一下opnion里的lib路径(capture the data packets to and from the data, and related information, not open threads, I vc beginners welcome friends to improve it, do not forget that I made a fecon@tom.com with winpcap capture. Install winpcap3.1, to change it's lib opnion Path)
    2004-11-24 08:41:47下载
    积分:1
  • Amend the Mac Address!
    修改Mac地址! 并且不需要关机器!-Amend the Mac Address!
    2022-11-02 17:40:03下载
    积分:1
  • 696518资源总数
  • 106174会员总数
  • 31今日下载