登录
首页 » C++ Builder » TCP服务器端和客户端程序

TCP服务器端和客户端程序

于 2017-12-29 发布 文件大小:738KB
0 322
下载积分: 1 下载次数: 7

代码说明:

  使用C++ builder的TCP组件开发的服务器端和客户端程序,可以进行二进制形式的通信(The server - side and client - side programs developed using the TCP component of C++ builder can communicate in binary form)

文件列表:

TCP组件实验\client\Client.bpr, 3654 , 2017-12-27
TCP组件实验\client\Client.cpp, 1069 , 2017-12-27
TCP组件实验\client\Client.exe, 35328 , 2017-12-28
TCP组件实验\client\Client.obj, 17715 , 2017-12-28
TCP组件实验\client\Client.res, 876 , 2017-12-27
TCP组件实验\client\Client.tds, 2162688 , 2017-12-28
TCP组件实验\client\Unit1.cpp, 3741 , 2017-12-28
TCP组件实验\client\Unit1.ddp, 51 , 2017-12-28
TCP组件实验\client\Unit1.dfm, 1764 , 2017-12-27
TCP组件实验\client\Unit1.h, 1699 , 2017-12-27
TCP组件实验\client\Unit1.obj, 93152 , 2017-12-28
TCP组件实验\client\Unit1.~cpp, 3737 , 2017-12-28
TCP组件实验\client\Unit1.~ddp, 51 , 2017-12-28
TCP组件实验\client\Unit1.~dfm, 1764 , 2017-12-27
TCP组件实验\client\Unit1.~h, 1699 , 2017-12-27
TCP组件实验\server\Server.bpr, 3655 , 2017-12-26
TCP组件实验\server\Server.cpp, 1072 , 2017-12-26
TCP组件实验\server\Server.exe, 35328 , 2017-12-28
TCP组件实验\server\Server.obj, 17720 , 2017-12-28
TCP组件实验\server\Server.res, 876 , 2017-12-26
TCP组件实验\server\Server.tds, 2162688 , 2017-12-28
TCP组件实验\server\Unit1.cpp, 4096 , 2017-12-28
TCP组件实验\server\Unit1.ddp, 51 , 2017-12-28
TCP组件实验\server\Unit1.dfm, 1934 , 2017-12-27
TCP组件实验\server\Unit1.h, 1897 , 2017-12-27
TCP组件实验\server\Unit1.obj, 108975 , 2017-12-28
TCP组件实验\server\Unit1.~cpp, 4078 , 2017-12-27
TCP组件实验\server\Unit1.~ddp, 51 , 2017-12-27
TCP组件实验\server\Unit1.~dfm, 1934 , 2017-12-27
TCP组件实验\server\Unit1.~h, 1897 , 2017-12-27
TCP组件实验\client, 0 , 2017-12-28
TCP组件实验\server, 0 , 2017-12-28
TCP组件实验, 0 , 2017-12-26

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

发表评论

0 个回复

  • 17501500
    用VC写的界面编程,可实现用图形纹理的设计,()
    2018-02-24 23:36:04下载
    积分:1
  • timeoutsocket
    socket建立连接超时的控制 (Controlling socket when timeout)
    2021-04-15 14:08:54下载
    积分:1
  • 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
  • C# IPC进间通讯示例代码(Remoting)
    C# IPC进程间通讯示例代码(Remoting)
    2013-09-14下载
    积分:1
  • Socket_P2P_vc
    socket 点对点编程的c++和c#完美版,服务端客户端皆有。(point-to-point socket programming c++ and c# a perfect version of both client-side service.)
    2009-05-06 23:53:57下载
    积分:1
  • SendFileClient
    VC++实现类似于QQ文件传输功能的文件发送与接收程序示例,分为服务端和客户端,客户端首次接收数据,将判断文件包大小,数据包中一定包含完整的数据包结构信息,数据不一定完整;读取数据包的大小,包含数据包结构大小和数据大小,之前接收的数据与现在接收的数据能够构成至少一个完整的数据包,文件接收完毕则设置结束标记,若终止的连接,则弹出窗口告诉用户,对方终止了文件传送。   服务端程序是比较简单的,基本是复制文件数据、判断文件是否传递成功、等待对方收受发送任务或取消发送任务,分包继续发送文件等功能(VC++ implementation is similar to QQ file transfer capabilities to send and receive files program examples, divided into server and client, the client receives the first data packet to determine the file size, the packet must contain the complete information packet structure, the data is not must complete reading packet size, including the size and structure of the data packet size, and previously received data received data can now constitute at least one complete packet, the file has been received then set the mark, if the connection is terminated, the pop-up window telling the user, the other party to terminate the file transfer. Server program is relatively simple, basically copying the file data, to determine whether the file transfer is successful, waiting for the other to accept or cancel the sending task sends tasks, subcontractors continue to send files and other functions )
    2014-06-03 13:50:03下载
    积分:1
  • SPEI
    SPEI计算SPEI的R语言版与可执行版(含下载网址).rar(SPEI calculated SPEI R-language version of the executable version (with download link). Rar)
    2020-10-17 14:37:27下载
    积分:1
  • Project1
    TCP 发送模块 一点小代码`````` 仅仅当做参考(TCP Send Module)
    2010-09-10 22:05:17下载
    积分:1
  • CommunicationEngineerNetWorkPractise
    通信工程师电信网络专业习题集 通信工程师电信网络专业习题集 通信工程师电信网络专业习题集(CommunicationEngineerNetWorkPractise CommunicationEngineerNetWorkPractise CommunicationEngineerNetWorkPractise)
    2014-01-12 15:39:38下载
    积分:1
  • Getmacofremotemachine
    获取远程机器的MAc地址,运行环境VC++ (get MAC of remote machine)
    2009-05-10 17:27:13下载
    积分:1
  • 696516资源总数
  • 106914会员总数
  • 0今日下载