使用ICS组件中的WSOCKET和Wsocketserver收发文件 为什么无法接受成功? [问题点数:50分]

Bbs1
本版专家分:0
结帖率 0%
Bbs5
本版专家分:2588
判断SOCKET连接状态
1. 用read函数来判断读到长度0不能断定是已经断开.除非是-1,才代表输入流已经被关闭,说名socket已经close,而且关键在于你怎么读,实际上应该是一个单独的线程一直在读,因为你<em>无法</em>预先知道能不能一次将发过来的包读完,也<em>无法</em>知道一次是不是读完整了包,所以线称一直循环在读并且一直在解包.这样即能知道什么时候server断,也完成了消息的解读,我的方案是这样的,在大数据量高速率网络上运行没有发生过丢包// 判断是否连接 char ch = 'A'; if (read(g_sockfd, &ch,
delphi的 ics使用例子,ftp客户端上传的例子。
关于delphi的 <em>ics</em>的<em>使用</em>例子。我现在想做个ftp服务器和。现在给大家一个例子 关于连接函数应该很简单,这是上传的代码,供大家参考。  FtpClient1.HostDirName := '/';  FtpClient1.Cwd;  FtpClient1.HostDirName :=dir;   if not FtpClient1.Cwd then   begin     
Delphi的ICS组件和THttpCli使用Demo
Delphi的ICS<em>组件</em>,版本OverbyteIcsV7Gold,Delphi7下的安装说明,THttpCli<em>使用</em>简单说明和Demo.zip
Outlook2016创建账户后无法发送和接收邮件的解决办法
今天重装了office,在配置QQ邮箱对应Outlook的时候,遇到两个比较麻烦的问题,这里分享给大家。 问题1:<em>使用</em>QQ密码<em>无法</em>登陆邮箱,提示503错误。 这里的原因是因为腾讯更改了邮件客户端的登录密码,需要<em>使用</em>邮箱自动随机生成的授权码才能登录,具体生成方式如下: 问题2:配置完成后,测试邮件也发送<em>成功</em>,但是在主界面点击发送/<em>接受</em>按钮后无任何响应,新建邮件后发件人处还需要选择,但下拉菜单
USB无线网卡配置ICS失败,你可以连接到SoftAP,但可能无法使用internet服务
USB无线网卡配置ICS失败,你可以连接到SoftAP,但可能<em>无法</em><em>使用</em>internet服务 标签: 网络共享 2014-07-04 14:07 4531人阅读 评论(0) 收藏 举报  分类: 网络共享 http://zhidao.baidu.com/link?url=RK4mEG9H7SEDTk566xFctYHa3B_8JP0BBLSL9TdkWFpg
USB无线网卡配置ICS失败,你可以连接到SoftAP,但可能无法使用internet服务,
http://zhidao.baidu.com/link?url=RK4mEG9H7SEDTk566xFctYHa3B_8JP0BBLSL9TdkWFpgObqOnW6GCw6InGpSv4VJVRmMszN2PNrQmbSxuPTdY_
ICS开源网络控件D7-XE10(有完整安装说明)
支持现有delphi的所有版本,支持 Delphi 7 至 Delphi XE8, 10 Seattle, 10.1 Berlin and 10.2 Tokyo, C++ Builder 2006 至 XE3。还包括 OpenSSL 1.1.0e,附件中有安装说明!
java socket编程服务器接收不到数据
本人在socket编程的时候,连接上服务器后直接发送一个字符串过去,但服务器始终没有接收到数据。查了很多资料也没有找到,后来跟同事一起讨论,才发现原来是传送的字符串并没有结束掉。以下来说以下解决的方法: 一、网上其实有很多的关于socket的小例子,有的甚至特别精炼——连上socket,发了数据就直接关闭。这种方式是可以<em>成功</em>传送到服务器。 二、如果想在线程中不断的接收和发送数据(socket一直
ICS的wsocket收发文件的问题
请问各位大虾,ICS的<em>wsocket</em>控件在发送或接收的时候都没有读或写流的方法,请问怎样来接收、发送<em>文件</em>,用sendStr吗?谢谢了!
php 生成ics文件
项目用到了,百度没找到相关的答案,后来在github上的gist找到了代码。 源码只支持生成一个事件的<em>ics</em>,我现在改成了支持生成多事件(支持传入多维数组)。
Php 同步日历任务 .ics 文件
.<em>ics</em><em>文件</em> 实例 BEGIN:VCALENDAR PRODID:-//Events Calendar//iCal4j 1.0//EN CALSCALE:GREGORIAN VERSION:2.0 X-WR-TIMEZONE:Asia/Shanghai BEGIN:VEVENT DTSTAMP:20181206T030305Z DTSTART;TZID=Asia/Shanghai:2018112...
ICS组件中WSocketServer与WSocketClient收到数据示例
偶然一次得知了ICS<em>组件</em>在DELPHI7的应用较为稳定,于是找到了ICS<em>组件</em>,安装完成后,试验了一下,还是不错的。源码贴于下: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graph<em>ics</em>, Controls, Forms, Dialogs, StdCtrls, ExtCtrls
Outlook中添加中国农历节日
Outlook中直接添加农历节日非常不方便, Google后找到解决办法如下:   一. <em>ics</em><em>文件</em>导入法推荐 下载如下农历日历: http://www.google.com/calendar/ical/china__zh_cn%40holiday.calendar.google.com/public/basic.<em>ics</em> 或: 我的网盘下载:http://www.brsbox.com/filebox/down/fc/63d219417fa8d79b1b5301e322bb0f2b 然后打开Outlook,使
防火墙(windowsxp)ICS服务起动报错:找不到文件 解决办法
windows xp 防火墙服务启动报错解决办法:注册表修复<em>文件</em>
ical4j 实现ICS文件的生成和解析
iCalendar 简介 iCalendar,简称“iCal”,是“日历数据交换”的标准(RFC 2445),该标准提供了一种公共的数据格式用于存储关于日历方面的信息,比如事件、约定、待办事项等。它不仅允许用户通过电子邮件发送会议或者待办事件等,也允许独立<em>使用</em>,而不局限于某种传输协议。 1、maven引入相关ical4j相关jar包: 在pom.xml中添加: ical4j b
ics(delphi组件
<em>ics</em> delphi <em>组件</em><em>ics</em> delphi <em>组件</em><em>ics</em> delphi <em>组件</em>
extmail不能发邮件
# du /var -h发现/var/amavis/tmp中大量的临时<em>文件</em>把/var目录满了,把该目录清空一下,邮件<em>收发</em>恢复正常
TCP 接收连接及消息的收发
我们在网络编程时,一般过程是创建套接字,然后绑定端口,然后开始监听,那么这个所谓的监听数量<em>为什么</em>一般很小,但是能接收很多连接,恩,后来才知道不在一个过程上,下面先从listen函数看起。listen(socket, backlog);socket backlog定义内核监听队列的最大长度。内核为任何一个给定的监听套接字维护两个队列: 1) 未完成连接队列。每个这样的SYN分节对应其中一项:已由某个
ICS delphixe10源码版
ICS - Internet Component Suite - V8 - Delphi 7 to RAD Studio 10 Seattle ======================================================================= (Aka FPIETTE's Components) Revised: March 3, 2016 http://www.overbyte.be/ http://wiki.overbyte.be/ Table of content: ----------------- - Legal issues - Donate - Register - Contributions - Latest Versions - Version Control repository - Installation - Available VCL Components - Sample applications - About SSL - Support - Release notes - Midware - Known problems - Special thanks Legal issues: ------------- Copyright (C) 1997-2016 by Fran鏾is PIETTE Rue de Grady 24, 4053 Embourg, Belgium SSL implementation includes code written by Arno Garrels, Berlin, Germany, contact: ICS is freeware. This software is provided 'as-is', without any express or implied warranty. In no event will the author be held liable for any damages arising from the use of this software. Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: 1. The origin of this software must not be misrepresented, you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. 3. This notice may not be removed or altered from any source distribution. 4. You must register this software by sending a picture postcard to the author. Use a nice stamp and mention your name, street address, EMail address and any comment you like to say. 5. As this code make use of OpenSSL, your rights are restricted by OpenSSL license as soon as you use any SSL feature. See http://www.openssl.org for details. Donate ------ ICS is freeware. You can use it without paying anything except the registration postcard (see "register" below). But of course donations are welcome. You can send cash (Euro currency or US Dollars) in an envelop to my street address or buy a gift certificate at Amazon in the UK. I will then use it to buy books. Here is the direct URL at Amazon UK (nearest to my home, please don't use another): http://www.amazon.co.uk/exec/obidos/gc-email-order1/ref=g_gc_email/202-6198323-6681414 For more generous amount, contact me by email. Register -------- ICS is freeware. If you use the components, you must register by sending a picture postcard showing the area you live in and some beautiful stamps for my kids who are stamp collectors. Do not use an envelop, I collect USED postcards sent to me. Write on the postcard that it is your ICS registration. Address your card to: Francois PIETTE, rue de Grady 24, 4053 Embourg, Belgium. Don't forget to mention your name, street address, EMail and web site. Contributions: -------------- ICS has been designed by Fran鏾is PIETTE but many other peoples are working on the components and sample programs. The history of changes in each source file list all developers having contributed (When no name is given, the change is by F. Piette). I can't list all contributors here but I want to specially thanks two specially active contributors: - Arno Garrels - Angus Robertson Latest versions: --------------- The latest versions of ICS can be downloaded from the ICS Wiki web site: http://wiki.overbyte.be/wiki/index.php/ICS_Download ICS V5 and V6 are archive releases no longer updated, last supported release was 2007. ICS V7 is a stable release that may still be updated for major bugs, but not for new releases of Delphi, latest it supported was XE3. ICS V8 is the current development release which is held in a public Version Control repository that is zipped each night for easy download. The download page above also includes the OpenSSL binaries needed to support SSL. ICS V8 supports Delphi 64-bit and Mac OS-X projects. Note that latest C++ Builder version supported is XE3 (lack of spare time, sorry). ICS V9 is in early development and is planned to support Android. There are no current plans for ICS for iOS. Version Control repository: --------------------------- svn://svn.overbyte.be/<em>ics</em> or http://svn.overbyte.be:8443/svn/<em>ics</em> (Usercode = <em>ics</em>, password = <em>ics</em>) Installation: ------------- ICS V8 has been designed for Embarcadero Delphi 2009 and up, and C++ Builder 2009 and up, but is fully compatible with Borland Delphi 7 and CodeGear 2006 and 2007. Embarcadero RAD Studio includes Delphi and C++ Builder. http://www.embarcadero.com/ With Delphi XE2 and later, VCL 64-bit Windows targets are supported for Delphi only. Currently FireMonkey is partly supported for Delphi only (there are still a few non-ported components). ICS for Mac OSX is currently experimental. The zip file has sub-directories in it. You must use the WinZip "Use folder names" option to restore this directory tree or you will have problems because the files would not be in their proper subdirectories. Please note most of these directories are differently named to ICS V7 and earlier, to ease support of multiple versions of Delphi and platforms, and to ease location of similar sample projects. Please don't install V8 over an existing V7 installation, it will be a mess of old and new. This is the new V8 sub-directory layout: .\ Info directory .\Install Component packages project groups for all versions .\Packages (was Delphi\Vc32) Delphi (7 and up) and C++Builder (2006 and up) packages projects .\Source (was Delphi\Vc32) ICS Delphi source code built into packages .\Source\Include (was Delphi\Vc32) .inc files (including OverbyteIcsDefs.inc) .\Source\Extras (was Delphi\Vc32) Extra source code not built into packages .\Source\zobj125 (was Delphi\Vc32) ZLIB C OBJ include files .\Lib Unit output directories for all package builds, subdirectories | for 2007+ will be created on building the packages \$(Config) Release / Debug | \$(Platform) Win32 / Win64 / OSX32 | \ D7..XE8, 10 Seattle includes .dcu and .dfm files for Delphi and .obj and .hpp files for C++ Builder .\Samples Delphi Win32/Win64 common source for all demos .\Samples\delphi\BroswerDemo Delphi Win32/Win64 Web Browser sample application (all Delphi versions) .\Samples\delphi\BroswerDemo\Resources Resource file, web pages and movie linked into browser demo .\Samples\delphi\FtpDemos Delphi Win32/Win64 FTP sample applications (all Delphi versions) .\Samples\delphi\MailNewsDemos Delphi Win32/Win64 SMTP, POP3, NNTP sample applications (all Delphi versions) .\Samples\delphi\MiscDemos Delphi Win32/Win64 Miscellaneous applications (all Delphi versions) .\Samples\delphi\OtherDemos Delphi Win32/Win64 DNS, Ping, SNMP, Syslog sample applications (all Delphi versions) .\Samples\delphi\PlatformDemos Delphi FireMonkey and cross-platform samples (Delphi XE2+) .\Samples\delphi\SocketDemos Delphi Win32/Win64 Socket sample applications (all Delphi versions) .\Samples\delphi\sslinternet Delphi Win32/Win64 SSL-enabled sample applications (all Delphi versions) .\Samples\delphi\WebDemos Delphi Win32/Win64 HTTP sample applications (all Delphi versions) .\Samples\delphi\WebDemos\WebAppServerData Directory for WebAppServ demo data files .\Samples\delphi\WebDemos\WebServData Directory for WebServ demo data files .\Samples\cpp\internet C++Builder sample applications .\Samples\cpp\internet\cb2006 C++Builder 2006 projects .\Samples\cpp\internet\cb2007 C++Builder 2007 projects .\Samples\cpp\internet\cb2009 C++Builder 2009 projects .\Samples\cpp\internet\cb2010 C++Builder 2010 projects .\Samples\cpp\internet\cbXE C++Builder XE projects .\Samples\cpp\internet\cbXE2 C++Builder XE2 projects UPGRADING and REINSTALLING Uninstall an existing ICS package (Menu | Component | Install Packages, select the component package and click Remove). Rename the old ICS directory and unzip to a new or empty directory, remove the old path from the library path and add either the new .\Source directory to the library path under Tools | Options |... or the appropriate .\Lib subdirectory according to version, ie .\Lib\Debug\Win32\D2007 for Delphi 2007. The latter has the advantage that the ICS source code won't be recompiled whenever your project is build. Also under Tools | Options |... add the new .\Source directory to the Browsing path. All DELPHI and C++ BUILDER VERSIONS/WIN32 Always upgrade your compiler with the latest update available from Embarcadero. Always update your system with http://windowsupdate.microsoft.com SSL or not SSL? By default the SSL code is compiled into the run-time package and additional SSL- enabled components are installed. In order to not compile the SSL code into the run-time package and to not install the SSL-Enabled components you need to remove the conditional define USE_SSL from both the run-time and design-time package. However if you do not build your applications with run-time packages it is recommended to build the packages with default settings. The SSL code will the be compiled into your applications depending on whether the conditional define USE_SSL is set in the project options or not (this requires having the .\Source directory in either in the library path or in projects Search path). Actual use of SSL in your applications also requires the OpenSSL files LIBEAY32.DLL and SSLEAY32.DLL being available somewhere in the path. Note different DLLs are needed for Win32 and Win64 applications. The ICS distribution includes the latest Win32 OpenSSL files in the .\OpenSSL-Win32 directory and the two main DLLs duplicated in .\Samples\delphi\sslinternet. Other OpenSSL files, including older and Win64, may be downloaded from: http://wiki.overbyte.be/wiki/index.php/ICS_Download INSTALLATION USING THE INSTALL PROJECT GROUPS For each Delphi and C++ Builder version one project group is provided in directory .\Install: Delphi 7 : D7Install.bpg Delphi 2006 : D2006Install.bdsgroup Delphi 2007 : D2007Install.groupproj Delphi 2009 : D2009Install.groupproj Delphi 2010 : D2010Install.groupproj Delphi XE : DXeInstall.groupproj Delphi XE2 : DXe2Install.groupproj // VCL only, no FireMonkey components Delphi XE2 : DXe2InstallVclFmx.groupproj // Both VCL and FireMonkey components Delphi XE3 : DXe3Install.groupproj // VCL only, no FireMonkey components Delphi XE3 : DXe3InstallVclFmx.groupproj // Both VCL and FireMonkey components Delphi XE4 : DXe4Install.groupproj // VCL only, no FireMonkey components Delphi XE4 : DXe4InstallVclFmx.groupproj // Both VCL and FireMonkey components Delphi XE5 : DXe5Install.groupproj // VCL only, no FireMonkey components Delphi XE5 : DXe5InstallVclFmx.groupproj // Both VCL and FireMonkey components Delphi XE6 : DXe6Install.groupproj // VCL only, no FireMonkey components Delphi XE6 : DXe6InstallVclFmx.groupproj // Both VCL and FireMonkey components Delphi XE7 : DXe7Install.groupproj // VCL only, no FireMonkey components Delphi XE7 : DXe7InstallVclFmx.groupproj // Both VCL and FireMonkey components Delphi XE8 : DXe8Install.groupproj // VCL only, no FireMonkey components Delphi XE8 : DXe8InstallVclFmx.groupproj // Both VCL and FireMonkey components Delphi 10 Seattle : D10SInstall.groupproj // VCL only, no FireMonkey components Delphi 10 Seattle : D10SInstallVclFmx.groupproj // Both VCL and FireMonkey components C++ Builder 2006 : CB2006Install.bdsgroup C++ Builder 2007 : CB2007Install.groupproj C++ Builder 2009 : CB2009Install.groupproj C++ Builder 2010 : CB2010Install.groupproj C++ Builder XE : CBXeInstall.groupproj C++ Builder XE2 : CBXe2Install.groupproj // VCL only no FireMonkey components C++ Builder XE2 : CBXe2InstallVclFmx.groupproj // Both VCL and FireMonkey components C++ Builder XE3 : CBXe3InstallVclFmx.groupproj // Both VCL and FireMonkey components 1 - Do a File/Open Project, navigate to the Install directory, select the correct file and open it. The project manager view should now display two package projects, one run-time and one design-time package. The run-time package name contains the "Run" suffix. The design-time package name contains the "Design" suffix. 2 - Select and Build the run-time package (do not install). 3 - Select and Install the design-time package. After a few seconds, you should have a dialog box telling you the package has been installed with a bunch of new components registered in the Tool Palette under "Overbyte ICS" and "Overbyte ICS SSL". Then do a "Save All" and a "Close All". 4 - One package is installed, called 'Overbyte ICS Design-Time Package for Delphi xxx'. 5 - Various directories under .\Samples\delphi\ include samples that illustrate use of all the ICS components, see later. FIREMONKEY CROSS PLATFORM PACKAGES: 1 - For XE2 and later, DXe?Install (where ? is the version) installs VCL components only, while DXe?InstallVclFmx also installs FireMonkey cross platform components (three run time packages). In order to use this feature first uninstall the old design-time package. 2 = Build all three run-time packages for all available platforms (32-bit and 64-bit Windows and Mac OS X) in the order they are listed in project manager. 3 - Next build and install the three design-time packages in the order they are listed in project manager. 4 - Three packages are installed, called: 'Overbyte ICS Common Design-Time Package for Delphi xxx' 'Overbyte ICS FMX Design-Time Package for Delphi xxx' 'Overbyte ICS VCL Design-Time Package for Delphi xxx' Note that the new packaging is still beta/alpha, both package names and included units might change in a future beta drop. The old VCL packages are still there however they do no longer support FireMonkey and of course only one set of packages can be installed in the IDE at the same time, if you want both VCL and FMX install DXe2InstallVclFmx.groupproj only. Currently the XE2 package cache is buggy and should be disabled by adding the -nocache parameter. 5 - The .\Samples\delphi\PlatformDemos\ folder contains FireMonkey sample projects that may all be built with FireMonkey for Mac OS X (and Windows). ALTERNATE INSTALLATION USING THE PACKAGE PROJECT FILES: For each Delphi and C++ Builder version two package project files exist in the .\Packages directory. One run-time and one design-time package project file. The run-time file name contains the "Run" suffix. The design-time file name contains the "Design" suffix. PACKAGE PROJECT FILE NAMES - VCL: Delphi 7 : OverbyteIcsD7Run.dpk, OverbyteIcsD7Design.dpk Delphi 2006 : OverbyteIcsD2006Run.bdsproj, OverbyteIcsD2006Design.bdsproj Delphi 2007 : OverbyteIcsD2007Run.dproj, OverbyteIcsD2007Design.dproj Delphi 2009 : OverbyteIcsD2009Run.dproj, OverbyteIcsD2009Design.dproj Delphi 2010 : OverbyteIcsD2010Run.dproj, OverbyteIcsD2010Design.dproj Delphi XE : OverbyteIcsDXeRun.dproj, OverbyteIcsDXeDesign.dproj Delphi XE2 : OverbyteIcsDXe2Run.dproj, OverbyteIcsDXe2Design.dproj Delphi XE3 : OverbyteIcsDXe3Run.dproj, OverbyteIcsDXe3Design.dproj Delphi XE4 : OverbyteIcsDXe4Run.dproj, OverbyteIcsDXe4Design.dproj Delphi XE5 : OverbyteIcsDXe5Run.dproj, OverbyteIcsDXe5Design.dproj Delphi XE6 : OverbyteIcsDXe6Run.dproj, OverbyteIcsDXe6Design.dproj Delphi XE7 : OverbyteIcsDXe7Run.dproj, OverbyteIcsDXe7Design.dproj Delphi XE8 : OverbyteIcsDXe8Run.dproj, OverbyteIcsDXe8Design.dproj Delphi 10 Seattle : OverbyteIcsD10SRun.dproj, OverbyteIcsD10SDesign.dproj C++ Builder 2006 : OverbyteIcsCB2006Run.bdsproj, OverbyteIcsCB2006Design.bdsproj C++ Builder 2007 : OverbyteIcsCB2007Run.cbproj, OverbyteIcsCB2007Design.cbproj C++ Builder 2009 : OverbyteIcsCB2009Run.cbproj, OverbyteIcsCB2009Design.cbproj C++ Builder 2010 : OverbyteIcsCB2010Run.cbproj, OverbyteIcsCB2010Design.cbproj C++ Builder XE : OverbyteIcsCBXeRun.cbproj, OverbyteIcsCBXeDesign.cbproj C++ Builder XE2 : OverbyteIcsCBXe2Run.cbproj, OverbyteIcsCBXe2Design.cbproj C++ Builder XE3 : OverbyteIcsCBXe3Run.cbproj, OverbyteIcsCBXe3Design.cbproj PACKAGE PROJECT FILE NAMES - FireMonkey and VCL: Delphi XE2 FMX/VCL : IcsCommonDXe2Run.dproj, IcsCommonDXe2Design.dproj Delphi XE2 VCL : IcsVclDXe2Run.dproj, IcsVclDXe2Design.dproj Delphi XE2 FMX : IcsFmxDXe2Run.dproj, IcsFmxDXe2Design.dproj Delphi XE3 FMX/VCL : IcsCommonDXe3Run.dproj, IcsCommonDXe3Design.dproj Delphi XE3 VCL : IcsVclDXe3Run.dproj, IcsVclDXe3Design.dproj Delphi XE3 FMX : IcsFmxDXe3Run.dproj, IcsFmxDXe3Design.dproj Delphi XE4 FMX/VCL : IcsCommonDXe4Run.dproj, IcsCommonDXe4Design.dproj Delphi XE4 VCL : IcsVclDXe4Run.dproj, IcsVclDXe4Design.dproj Delphi XE4 FMX : IcsFmxDXe4Run.dproj, IcsFmxDXe4Design.dproj Delphi XE5 FMX/VCL : IcsCommonDXe5Run.dproj, IcsCommonDXe5Design.dproj Delphi XE5 VCL : IcsVclDXe5Run.dproj, IcsVclDXe5Design.dproj Delphi XE5 FMX : IcsFmxDXe5Run.dproj, IcsFmxDXe5Design.dproj Delphi XE6 FMX/VCL : IcsCommonDXe6Run.dproj, IcsCommonDXe6Design.dproj Delphi XE6 VCL : IcsVclDXe6Run.dproj, IcsVclDXe6Design.dproj Delphi XE6 FMX : IcsFmxDXe6Run.dproj, IcsFmxDXe6Design.dproj Delphi XE7 FMX/VCL : IcsCommonDXe7Run.dproj, IcsCommonDXe7Design.dproj Delphi XE7 VCL : IcsVclDXe7Run.dproj, IcsVclDXe7Design.dproj Delphi XE7 FMX : IcsFmxDXe7Run.dproj, IcsFmxDXe7Design.dproj Delphi XE8 FMX/VCL : IcsCommonDXe8Run.dproj, IcsCommonDXe8Design.dproj Delphi XE8 VCL : IcsVclDXe8Run.dproj, IcsVclDXe8Design.dproj Delphi XE8 FMX : IcsFmxDXe8Run.dproj, IcsFmxDXe8Design.dproj Delphi 10 Seattle FMX/VCL: IcsCommonD10SRun.dproj, IcsCommonD10SDesign.dproj Delphi 10 Seattle VCL : IcsVclD10SRun.dproj, IcsVclD10SDesign.dproj Delphi 10 Seattle FMX : IcsFmxD10SRun.dproj, IcsFmxD10SDesign.dproj C++ Builder XE2 FMX/VCL : IcsCommonCBXe2Run.dproj, IcsCommonDXe2Design.dproj C++ Builder XE2 VCL : IcsVclCBXe2Run.dproj, IcsVclCBXe2Design.dproj C++ Builder XE2 FMX : IcsFmxCBXe2Run.dproj, IcsFmxCBXe2Design.dproj C++ Builder XE3 FMX/VCL : IcsCommonCBXe3Run.dproj, IcsCommonDXe3Design.dproj C++ Builder XE3 VCL : IcsVclCBXe3Run.dproj, IcsVclCBXe3Design.dproj C++ Builder XE3 FMX : IcsFmxCBXe3Run.dproj, IcsFmxCBXe3Design.dproj 1 - Open and Build the run-time package project (do not install!). 2 - Open and Install the design-time package project. (Do a File/Open Project, browse to the .\Packages directory. Select the correct file and open it. Then in the project manager view, right-click on the package, then click on either the Build or Install button.) 3 - For Delphi XE2 and later, a 64-bit run-time package can be built by changing the package target platform to 64-bit Windows. This has the same name as the 32-bit package, so a different package output directory needs to be specified in Tools / Options / Delphi Options for 64-bit Windows. After a few seconds, you should have a dialog box telling you the package has been installed with a bunch of new components registered in the Tool Palette under "Overbyte ICS" and "Overbyte ICS SSL". Then do a "Save All" and a "Close All". DELPHI 2006/WIN32, 2007/WIN32, 2009/WIN32, 2010/WIN32, XE/WIN32: Having installed the package, verify that the appropriate Win32 Library Path (Tools / Options / Delphi Options / Library - Win32 / Library Path) has been added, .\Lib subdirectory according to version, ie .\Lib\Debug\Win32\D2007 for Delphi 2007. If not, add it manually. It is not mandatory to add .\Lib to the global Delphi path, but it will be much easier for you because otherwise you'll have to add it to each project. DELPHI XE2/WIN32, XE3/WIN32, XE4/WIN32, XE5/WIN32, XE6/WIN32, XE7/WIN32, XE8/WIN32, 10 Seattle/WIN32, XE2/WIN64, XE3/WIN64, XE4/WIN64, XE5/WIN64, XE6/WIN64, XE7/WIN64, XE8/WIN64, 10 Seattle/WIN64: Similar to above, but the Library path is specified separately for 32-bit and 64-bit Windows Platforms. DELPHI 7: Add VC32 directory path to your library path (Tools menu / Environment Options / Library / Library Path. Add .\Lib\Debug\Win32\D7 path at the end of the existing path). SAMPLE DELPHI PROJECTS Once the package is installed, you may open the sample projects. The samples are split into several directories according to protocols, most with a project group that can be opened in all versions of Delphi. .\Samples\delphi\BroswerDemo .\Samples\delphi\FtpDemos\FtpDemos.bpg .\Samples\delphi\MailNewsDemos\MailNewsDemos.bpg .\Samples\delphi\MiscDemos\MiscDemos.bpg .\Samples\delphi\OtherDemos\OtherDemos.bpg .\Samples\delphi\PlatformDemos\XSamples.groupproj .\Samples\delphi\SocketDemos\SocketDemos.bpg .\Samples\delphi\sslinternet\SslDemos.bpg .\Samples\delphi\WebDemos\WebDemos.bpg Full details of the sample projects are shown later in this document. You might get some dialog box telling you that resource files are missing (they may not have been included in the zip file to save space) and are recreated by Delphi. It is OK. Any other error message is a problem you should fix. After all resource files have been recreated, you should see in the project manager a group of projects. To compile all samples in the group at once, do Project / Build all projects. This may take a few minutes. Note 1: Delphi may run out of memory if you ask to compile all projects at once. If you have not enough RAM, then compile each project individually. Note 2: Delphi has warnings which triggers a lot of messages for 100% OK code. You can turn those warnings off in the project/ options / Compiler messages and deselecting: "Deprecated symbol", "Platform symbol", "unsafe type", "unsafe code", "unsafe typecast". Those are intended for .NET and Linux portability. You can safely ignore them if you run windows. For you facility, I included a utility SetProjectOptions (source code, you must compile it) in the internet directory. This utility will update project options to disable the warnings. Once the components are all installed, you may open the sample projects each one after the other and compile them. For each project, do file/open and select the dpr file in the internet directory. Then Project/Build All. C++ BUILDER 2006, 2007, 2009, 2010, XE, XE2, XE3: Follow the installation procedure described for Delphi 2006. Just change the project group and package name: use CB2006, CBXe, etc, see above. You can't have Delphi 2006 and CBuilder 2006 packages installed at the same time in the IDE. So when switching from one to the other, be sure to remove the one you don't need. Building the FireMonkey CBXE2InstallVclFmx C++ packages for OSX may trigger an ILINK32 error, this is a bug in C++ Builder reported as QC #103668 the Win32 packages should build without errors. Once the components are all installed, you may open the sample projects each one after the other and compile them. For each project, do file/open and select the dpr file in the internet directory. Then Project/Build All. Projects are located in SAMPLES\CPP\INTERNET\CB2006\ (or CB2006, CBXE, etc) with a project group in each directory, OverbyteIcsCB2006Sam.bdsgroup, OverbyteIcsCBXe2Sam.groupproj, etc. It is likely that for each project, C++ Builder complains about a missing .res file. This is not a problem, C++ Builder will recreate it as needed. They have not been included to save space in the zip file. Once the components are all installed, you may open the sample projects each one after the other and compile them. For each project, do file/open and select the dpr file in the internet directory. Then Project/Build All. NOTES: - You may have an error message, using Delphi or C++ Builder complaining about Font.Charset, OldCreateOrder and other properties. Those are new properties in newer Delphi or C++ Builder versions, newer than the version you use. You can safely ignore those errors because those properties are not used by the components nor sample programs. You may encounter this error at run time. To avoid it, you must open each form at design time and ignore the error. Then recompile. If you don't ignore the error at design time, you'll have it at runtime ! - If you have Delphi or C++ Builder complaining about a file not found, add .\source directory to your library path. - If you are using C++ Builder you may encounter an error at link time such as "Unable to open file MWBCB30.LIB" (or other libs). This is a bug in C++ Builder. To solve it, you can edit project option file (right click in project manager) and remove any reference to the missing libraries. - Don't forget that the C++Builder components are located in .\delphi\vc32 which is object pascal source code (not a problem for C++Builder, just indicate that the *.pas files are displayed when installing). C++Builder will create the *.hpp files. There are some on-line help files in the VC32 directory. Available VCL Components ------------------------ - The following is a list of the files that should be installed in order to properly add all of the available components in this collection: > OverbyteIcsCharsetComboBox.pas Provides easy MIME charset selection > OverbyteIcsDnsQuery DNS lookup component - useful for getting MX records > OverbyteIcsDprUpdFix.pas IDE plugin for Delphi 2009 and 2010 to update old projects > OverbyteIcsEmulVT.pas ANSI terminal emulation in a control > OverbyteIcsFingCli.pas FINGER client protocol - Find information about user > OverbyteIcsFtpCli.pas FTP client protocol - file transfer > OverbyteIcsFtpSrv.pas FTP server protocol - file transfer > OverbyteIcsFtpSrvT.pas FTP server protocol - helpers > OverbyteIcsHttpAppServer.pas HTTP server protocol - used to build advanced web servers > OverbyteIcsHttpProt.pas HTTP client protocol - used by the web > OverbyteIcsHttpSrv.pas HTTP server protocol - used to build web servers > OverbyteIcsLogger.pas A component to log information > OverbyteIcsMimeDec.pas MIME component - decode file attach, use with POP3 > OverbyteIcsMultiProgressBar.pas A segmented progress bar > OverbyteIcsMultipartFtpDownloader.pas FTP client protocol - download one file using simultaneous connections to speedup download > OverbyteIcsMultipartHttpDownloader.pas HTTP client protocol - download one file using simultaneous connections to speedup download > OverbyteIcsNntpCli.pas NNTP client protocol - send and receive newsgroups messages > OverbyteIcsPing.pas ICMP echo protocol - ping a host > OverbyteIcsPop3Prot.pas POP3 client protocol - get mail from mail server > OverbyteIcsReg.pas Register design components > OverbyteIcsSmtpProt.pas SMTP client protocol - send mail to server > OverbyteIcsSmtpSrv.pas SMTP server protocol - receive mail from client > OverbyteIcsSnmpCli.pas SNMP client protocol - network management > OverbyteIcsSnmpMsgs.pas SNMP client protocol - message helper > OverbyteIcsSysLogClient.pas Syslog Client Protocol - receive syslog messages > OverbyteIcsSysLogDefs.pas Syslog Protocol - helpers > OverbyteIcsSysLogServer.pas Syslog Server Protocol - send syslog messages > OverbyteIcsTnCnx.pas TELNET client protocol - terminal emulation protocol > OverbyteIcsTnEmulVT.pas TELNET and ANSI terminal emulation combined > OverbyteIcsTnOptFrm.pas TELNET Client configuration form > OverbyteIcsTnScript.pas TELNET client protocol - with automation > OverbyteIcsWSocket.pas Winsock component - TCP, UDP, DNS,... > OverbyteIcsWSocketE.pas Register procedure and property editor for TWSocket > OverbyteIcsWSocketS.pas Winsock component for building servers > OverbyteIcsWSocketTS.pas Winsock component for building multithreaded servers - The following list support and utilities units: > OverbyteIcsAsn1Utils.pas ASN1 utilities (for TSnmpClient component) > OverbyteIcsAvlTrees.pas Implements a fast cache-like data storage > OverbyteIcsCharsetUtils.pas MIME-charset functions > OverbyteIcsCookies.pas Client Cookie Handling > OverbyteIcsCRC.pas 32 bit CRC computation > OverbyteIcsCsc.pas character set routines > OverbyteIcsDES.pas Implementation of the Data Encryption Standard (DES) > OverbyteIcsDigestAuth.pas HTTP Digest Access Authentication > OverbyteIcsFormDataDecoder.pas Decode a MIME data block as generated by a HTML form > OverbyteIcsHttpCCodZLib.pas Supports GZIP coding for HttpContCod > OverbyteIcsHttpContCod.pas HTTP Content Coding support, uses extra units > OverbyteIcsIcmp.pas ICMP protocol support, used by the PING component > OverbyteIcsIconv.pas Headers for iconv library (LGPL) > OverbyteIcsLIBEAY.pas Delphi encapsulation for LIBEAY32.DLL (OpenSSL) > OverbyteIcsMD4.pas Implementation of the MD4 Message-Digest Algorithm > OverbyteIcsMD5.pas Implementation of the MD5 Message-Digest Algorithm > OverbyteIcsMimeUtil.pas Support routines for MIME standard > OverbyteIcsMLang.pas A few header translations from MS mlang.h > OverbyteIcsNtlmMsgs.pas Client NTLM authentification messages used within HTTP protocol > OverbyteIcsNtlmSsp.pas Server NTLM authentification of user credentials using Windows SSPI > OverbyteIcsOneTimePw.pas One Time Password support functions, used by FTP > OverbyteIcsSHA1.pas Implementation of US Secure Hash Algorithm 1 (SHA1) > OverbyteIcsSocketUtils.pas Cross platform socket utilities for ICS > OverbyteIcsSSLEAY.pas Delphi encapsulation for SSLEAY32.DLL (OpenSSL) > OverbyteIcsSslSessionCache.pas A very fast external SSL-session-cache component > OverbyteIcsSslThrdLock.pas Implementation of OpenSsl thread locking (Windows); > OverbyteIcsSspi.pas A few header translations from MS sspi.h and security.h > OverbyteIcsStreams.pas Fast streams for ICS > OverbyteIcsThreadTimer.pas A custom timer class using custom timer messages from one or more threads > OverbyteIcsTicks64.pas GetTickCount64 support for all versions of Windows > OverbyteIcsTimeList.pas List of items with expiry times, used for WebSessions > OverbyteIcsTypes.pas Common types, mainly for backward compiler compatibility > OverbyteIcsURL.pas Support routines for URL handling > OverbyteIcsUtils.pas Vast number of common utilities, many supporting Unicode for D7/2007 > OverbyteIcsWSockBuf.pas FIFO buffers for TWSocket > OverbyteIcsWebSession.pas Web session support for THttpAppSrv and MidWare > OverbyteIcsWinnls.pas A few header translations for Unicode Normalization in winnls.h > OverbyteIcsWinsock.pas Some Winsock initialisations > OverbyteIcsWndControl.pas A class that encapsulates a windows message queue and a message map > OverbyteIcsZLibDll.pas Zlib support, interface to external zlib.dll functions > OverbyteIcsZlibHigh.pas Zlib support, high level interface for compression and decompression > OverbyteIcsZLibObj.pas Zlib support, interface to zlib linked C OBJ functions FireMonkey Cross Platform Support: ---------------------------------- For Delphi and C++ Builder XE2 and later, FireMonkey Desktop applications are an alternate to VCL Forms applications, supporting cross platforms of Windows 32-bit and 64-bit and Mac OS X (and perhaps other platforms in future). FireMonkey uses different visual components to VCL, while some non-visual components can be used for both VCL and FMX projects, while other components need special versions, such as ICS. Earlier betas of V8 used the conditional define "FMX" which is *no longer required in project options. Instead in your existing ICS FireMonkey app. add either "Ics.Fmx" to the unit scope names in project options or apply the following changes in the uses clause, rename: OverbyteIcsWndControl -> Ics.Fmx.OverbyteIcsWndControl OverbyteIcsWSocket -> Ics.Fmx.OverbyteIcsWSocket OverbyteIcsFtpCli -> Ics.Fmx.OverbyteIcsFtpCli OverbyteIcsFtpSrv -> Ics.Fmx.OverbyteIcsFtpSrv OverbyteIcsHttpProt -> Ics.Fmx.OverbyteIcsHttpProt OverbyteIcsWSocketS -> Ics.Fmx.OverbyteIcsWSocketS OverbyteIcsSmtpProt -> Ics.Fmx.OverbyteIcsSmtpProt.pas OverbyteIcsPop3Prot -> Ics.Fmx.OverbyteIcsPop3Prot.pas OverbyteIcsNntpCli -> Ics.Fmx.OverbyteIcsNntpCli.pas OverbyteIcsPing -> Ics.Fmx.OverbyteIcsPing.pas OverbyteIcsDnsQuery -> Ics.Fmx.OverbyteIcsDnsQuery.pas OverbyteIcsFingCli -> Ics.Fmx.OverbyteIcsFingCli.pas OverbyteIcsSslSessionCache -> Ics.Fmx.OverbyteIcsSslSessionCache.pas OverbyteIcsSslThrdLock -> Ics.Fmx.OverbyteIcsSslThrdLock.pas OverbyteIcsHttpSrv -> Ics.Fmx.OverbyteIcsHttpSrv.pas OverbyteIcsSocketUtils -> Ics.Fmx.OverbyteIcsSocketUtils.pas OverbyteIcsMultipartFtpDownloader -> Ics.Fmx.OverbyteIcsMultipartFtpDownloader.pas OverbyteIcsMultipartHttpDownloader -> Ics.Fmx.OverbyteIcsMultipartHttpDownloader.pas OverbyteIcsHttpAppServer -> Ics.Fmx.OverbyteIcsHttpAppServer.pas OverbyteIcsThreadTimer -> Ics.Fmx.OverbyteIcsThreadTimer.pas OverbyteIcsCharsetComboBox -> Ics.Fmx.OverbyteIcsCharsetComboBox.pas { Demo units } OverbyteIcsWebAppServerCounter -> Ics.Fmx.OverbyteIcsWebAppServerCounter OverbyteIcsWebAppServerMailer -> Ics.Fmx.OverbyteIcsWebAppServerMailer The list above is also the list of units that now have different names in the FireMonkey framework however most of them share the same source file. Dropping a ICS component on the form will add the correct unit name for each framework automatically (don't forget to disable the package cache as described above). Unit OverbyteIcsLibrary.pas has been *deprecated* and ICS IPv8 doesn't use it anymore. If you used it in your own code read the comment in OverbyteIcsLibrary.pas, search for "deprecated". Sample applications: -------------------- With V8, the sample applications are now grouped into directories according to general functionality, to make it easier to compare related samples. Many samples are similar. When searching for something, always look at the date the demos where created. The most recent is always the best code! In the lists below, ACTIVE!! indicates applications that are actively maintained to test and support new functionality in the ICS components. These may not be simplest samples, but are usually the first to try when learning about a component. Delphi Win32/Win64 Web Browser sample application ------------------------------------------------- .\Samples\delphi\BroswerDemo > FrameBrowserIcs.dpr Web Browser using HtmlViewer component - ACTIVE!! Note this sample needs HtmlViewer component installed Delphi Win32/Win64 FTP sample applications ------------------------------------------ .\Samples\delphi\FtpDemos\FtpDemos.bpg - Project group > OverbyteIcsBasFtp.dpr Basic FTP client program > OverbyteIcsConFtp.dpr Basic console mode FTP client > OverbyteIcsFtpAsy.dpr Example of asynchronous FTP client > OverbyteIcsFtpMulti.dpr Demo to do several FTP downloads in parallel to get a list of files > OverbyteIcsFtpMultipartDownload.dpr Demo to FTP download a single large file in several parts in parallel > OverbyteIcsFtpServ.dpr General purpose FTP server, uses TSocketServer - ACTIVE!! > OverbyteIcsFtpThrd.dpr Demo of multithreaded FTP client, see also FTPASY > OverbyteIcsFtpTst.dpr Basic graphical FTP client - ACTIVE!! Delphi Win32/Win64 SMTP, POP3, NNTP sample applications ------------------------------------------------------- .\Samples\delphi\MailNewsDemos\MailNewsDemos.bpg - Project group > OverbyteIcsBasNntp.dpr Basic NNTP client program > OverbyteIcsConPop3.dpr Basic console mode demo for POP3 (mail receive) > OverbyteIcsConSmtp.dpr Basic console mode demo for SMTP (mail send) > OverbyteIcsMailHtml.dpr Example of HTML formatted EMail sending, including embedded images - ACTIVE!! > OverbyteIcsMailRcv.dpr Internet EMail access using POP3 protocol - ACTIVE!! > OverbyteIcsMailSnd.dpr Example of EMail sending using SMTP, including file attach - ACTIVE!! > OverbyteIcsMailSndAsync.dpr Example of parallel EMail sending with multiple connections > OverbyteIcsMimeDemo.dpr Example of EMail decoding (attached files are extracted) - ACTIVE!! > OverbyteIcsNewsReader.dpr Example of TNntpCli component (Send/receive newsgroups) - ACTIVE!! > OverbyteIcsSmtpServer.dpr Internet EMail server using SMTP protocol - ACTIVE!! Delphi Win32/Win64 Miscellaneous applications --------------------------------------------- .\Samples\delphi\MiscDemos\MiscDemos.bpg - Project group > OverbyteIcsBufStrmTst.dpr Test of buffered stream classes > OverbyteIcsCacheTest.dpr Test of TCacheTree class used in TSslAvlSessionCache > OverbyteIcsMD4Test.dpr Test program for MD4 unit > OverbyteIcsMD5File.dpr Example of MD5 unit: computer MD5 checksum for files > OverbyteIcsMD5Test.dpr Test program for MD5 unit > OverbyteIcsOneTimePassword.dpr One Time Password test routines for OverByteIcsOneTimePw unit > OverbyteIcsSHA1Test.dpr Test program for SHA unit > OverbyteIcsThreadTimerDemo.dpr Demo for TIcsThreadTimer > OverbyteIcsTicks64Demo.dpr GetTickCount64 test routines for OverbyteIcsTicks64 unit > OverbyteIcsTimerDemo.dpr Very simple demo for TIcsTimer > OverByteIcsWndControlTest.dpr Test program for windows and threads Delphi Win32/Win64 DNS, Ping, SNMP, Syslog sample applications -------------------------------------------------------------- .\Samples\delphi\OtherDemos\OtherDemos.bpg - Project group > OverbyteIcsBatchDnsLookup.dpr Batch async DNS lookup using DnsLookup (IPv6 and IPv4) > OverbyteIcsConPing.dpr Basic console mode demo for ping component > OverbyteIcsDll1.dpr Demo showing how to use a TWSocket component in a DLL > OverbyteIcsDll2.dpr Demo showing how to use a THttpCli component in a DLL > OverbyteIcsDllTst.dpr Test program calling ICSDLL1 and ICSDLL2 > OverbyteIcsDnsLook.dpr Example of name resolution (IPv6 and IPv4) > OverbyteIcsDnsResolver.dpr Batch async DNS lookup event driven using DnsQuery > OverbyteIcsFinger.dpr Example of TFingerCli component > OverbyteIcsNsLookup.dpr Demo for the DnsQuery component > OverbyteIcsPingTst.dpr Demo for the ping component, includes trace route > OverbyteIcsSnmpCliTst.dpr Demo for SNMP (simple network management protocol) component > OverbyteIcsSysLogClientDemo.dpr Demo for SysLog client component > OverbyteIcsSysLogServerDemo.dpr Demo for SysLog server component Delphi FireMonkey cross-platform samples (Delphi XE2 and later) --------------------------------------------------------------- All these samples may be built for Mac OS X (and Windows). .\Samples\delphi\PlatformDemos\XSamples.groupproj > IcsCliDemo.dproj Example of client for SRVDEMO, IPV4 only > IcsTcpSrvIPv6.dproj Basic server without client forms, event-driven, IPv4/IPV6 > IcsConSmtp.dproj Basic console mode demo for SMTP (mail send) > IcsMailSnd.dproj Example of EMail sending using SMTP, including file attach > IcsMailRcv.dproj Internet EMail access using POP3 protocol > IcsHttpsTst.dproj Example of THttpCli component (GET), show many features > IcsWebServ.dproj Demo of HTTP server, uses TSocketServer > IcsWebAppServ.dproj Advanced HTTP server demo, uses WebServ, adds sessions > IcsFtpTst.dproj Basic graphical FTP client > IcsFtpServ.dproj General purpose FTP server, uses TSocketServer > IcsUdpLstn.dproj UDP listen demo > IcsUdpSend.dproj UDP send demo > IcsBatchDnsLookup.dproj Batch async DNS lookup using DnsLookup (IPv6 and IPv4) > IcsDll1.dproj Demo showing how to use a TWSocket component in a DLL > IcsDll2.dproj Demo showing how to use a THttpCli component in a DLL > IcsDllTst.dproj Test program calling ICSDLL1 and ICSDLL2 > IcsThreadTimerDemo.dproj Very simple demo for TIcsTimer Delphi Win32/Win64 Socket sample applications --------------------------------------------- .\Samples\delphi\SocketDemos\SocketDemos.bpg - Project group > OverbyteIcsBinCliDemo.dpr Client program to receive binary and delimited text data. Works with BinTcpSrv demo. > OverbyteIcsCliDemo.dpr Example of client for SRVDEMO, IPV4 only - ACTIVE!! > OverbyteIcsClient5.dpr Basic client GUI applications > OverbyteIcsClient7.dpr Simple client application demonstrating TWSocket > OverbyteIcsConCli1.dpr Basic client/server console applications > OverbyteIcsConCli2.dpr Basic client/server console applications with thread > OverbyteIcsConSrv1.dpr Basic server application in console mode > OverbyteIcsConUdpLstn.dpr Console application to listen for UDP messages > OverbyteIcsDynCli.dpr Demo of dynamically created TWSocket components > OverbyteIcsMtSrv.dpr Basic server, multi-threaded, see THRDSRV for better code > OverbyteIcsRecv.dpr Simple file receive (server), use with SENDER demo (client) > OverbyteIcsSender.dpr Simple file send (client), use with RECV demo (server) > OverbyteIcsServer5.dpr Basic server GUI applications > OverbyteIcsSocksTst.dpr How to use TWSocket with SOCKS protocol (firewall traversing) > OverbyteIcsSrvDemo.dpr Example of server using a TTable - ACTIVE!! > OverbyteIcsSrvTcp.dpr Basic server without client forms, event-driven > OverbyteIcsSvcTcp.dpr Same as SRVTCP but as an NT/2K/XP service > OverbyteIcsTWSChat.dpr Chat program (both client and server in a single program) > OverbyteIcsTcpSrv.dpr Basic server without client forms, event-driven, IPv4 only - ACTIVE!! > OverbyteIcsTcpSrvIPv6.dpr Basic server without client forms, event-driven, IPv4/IPV6 - ACTIVE!! > OverbyteIcsTelnetClient.dpr Telnet client using a TnEmulVT > OverbyteIcsThrdSrv.dpr Basic multithreaded TCP server, banner sent in main thread > OverbyteIcsThrdSrvV2.dpr Basic multithreaded TCP server, banner sent in worker thread > OverbyteIcsThrdSrvV3.dpr Basic TCP server showing how to use TWSocketThrdServer > OverbyteIcsTnDemo.dpr Telnet client using a TMemo > OverbyteIcsTnSrv.dpr Basic TCP server with client forms, event-driven > OverbyteIcsUdpLstn.dpr UDP listen demo > OverbyteIcsUdpSend.dpr UDP send demo Delphi Win32/Win64 SSL-enabled sample applications -------------------------------------------------- .\Samples\delphi\sslinternet\SslDemos.bpg - Project group > OverbyteIcsHttpsTst.dpr Example of TSslHttpCli component (GET) - ACTIVE!! > OverbyteIcsPemTool.dpr ICS Pem Certificate Tool - Create and import certificates in OpenSLL PEM format > OverbyteIcsSimpleSslCli.dpr Example of simple SSL client using TSslWSocket - ACTIVE!! > OverbyteIcsSimpleSslServer.dpr Example of SSL server using TSslWSocket - ACTIVE!! > OverbyteIcsSslFtpServ.dpr General purpose FTP SSL server, uses TSocketServer - ACTIVE!! > OverbyteIcsSslFtpTst.dpr Basic graphical FTP SSL client - ACTIVE!! > OverbyteIcsSslMailRcv.dpr Internet EMail access using POP3 protocol and SSL - ACTIVE!! > OverbyteIcsSslMailSnd.dpr Example of EMail sending using SMTP and SSL - ACTIVE!! > OverbyteIcsSslNewsRdr.dpr Example of TSslNntpCli component (Send/receive newsgroups) - ACTIVE!! > OverbyteIcsMsVerify.dpr Verify and show an OpenSSL certificate or certificate chain using class TMsCertChainEngine which uses MS crypto API - ACTIVE!! > OverbyteIcsSslSniSrv.dpr Test of Server Name Indication (SNI) in server mode - ACTIVE!! > OverbyteIcsSslWebServ.dpr Demo of HTTPS server, uses TSocketServer - ACTIVE!! > OverbyteIcsSslWebAppServer.dpr Advanced HTTPS server demo, uses WebServ, adds sessions - ACTIVE!! > OverbyteIcsSslSmtpServer.dpr Internet EMail server using SMTP protocol and SSL - ACTIVE!! Delphi Win32/Win64 HTTP sample applications ------------------------------------------- .\Samples\delphi\WebDemos\WebDemos.bpg - Project group > OverbyteIcsConHttp.dpr Basic console mode HTTP client > OverbyteIcsHttpAsp.dpr Example of THttpCli component with cookie (POST to an ASP page) > OverbyteIcsHttpAsy.dpr Example of THttpCli component with multiple async requests (GET) > OverbyteIcsHttpChk.dpr Example of THttpCli to check for valid URL using HEAD request > OverbyteIcsHttpDmo.dpr Simple HTTP client demo with proxy > OverbyteIcsHttpGet.dpr Example of THttpCli component (GET into a file) > OverbyteIcsHttpMultipartDownload.dpr Demo application for TMultipartHttpDownloader to download files using simultaneous connections > OverbyteIcsHttpPg.dpr Example of THttpCli component (POST to CGI script) > OverbyteIcsHttpPost.dpr Example of THttpCli component (POST), work with WebServ sample - ACTIVE!! > OverbyteIcsHttpThrd.dpr Example of THttpCli component (multi-threaded GET) > OverbyteIcsHttpTst.dpr Example of THttpCli component (GET), show many features - ACTIVE!! > OverbyteIcsIsapi.dll Example of FTP client component within an ISAPI extension > OverbyteIcsWebAppServer.dpr Advanced HTTP server demo, uses WebServ, adds sessions - ACTIVE!! > OverbyteIcsWebServ.dpr Demo of HTTP server, uses TSocketServer - ACTIVE!! Two samples are not in the project group since they need extra components installed > OverbyteIcsRestDemo.drp Demo program showing how to use REST API from Google and Yahoo > OverbyteIcsRestJsonDemo.drp Demo program showing how to use REST API from Google Search and JSON Sample Notes ------------ Note 1: Not all samples have been rewritten in C++ for C++ Builder. And those rewritten are frequently much simpler. So C++ Builder user: have a look at the Delphi sample too ! Note 2: Follow "UserMade" link on ICS web site to find more sample programs written by ICS users. As explained in the component installation, you may encounter an error loading a sample application or running it. This may be because the last time I loaded the form, I was using another Delphi or C++ Builder version which has new properties. You can safely ignore messages related to those new properties. They are not used in the samples. (The properties are CharSet, OldCreateOrder and others). You can also encounter error about duplicate resources. You can ignore them safely. If you have those errors, open each form in the IDE, ignore the error then recompile. If you don't open the form in the IDE, you'll get the errors at runtime and your program will abort. When installing a new version, always delete old dcu, obj, dcpil and always recompile everything ! Close everything before recompiling the library or packages. When installing a new version, be sure to unzip it in the same directory tree as the old one or you'll mess both versions. About SSL: ---------- TSslWSocket and TSslWSocketServer component are derived from the standard TWSocket and TWSocketServer component. The SSL code is compiled into the component only if you define USE_SSL symbol to your packages and projects. Just add USE_SSL to the defines in the project or package options and recompile everything. The components make use of LIBEAY32.DLL and SSLEAY32.DLL to handle SSL protocol stuff. The DLLs are dynamically loaded at runtime. It means that the DLLs will only be required at runtime when you first make use of a SSL function. Your applications will run on systems without OpenSSL DLLs as long as you don't call any SSL function. The files may be downloaded from: http://wiki.overbyte.be/wiki/index.php/ICS_Download Most ICS components have their SSL enabled counter part. They work exactly the same way as the regular component except when SSL specific stuff is needed, for example certificates. To support SSL stuff, the SSL-enabled version use some new properties, events and methods. Many sample programs have their SSL-enabled counter part in a separate sources located in SslInternet folder. SSL certificates: To make use of SSL, you frequently need certificates. I provide some demo certificates I built using command line OpenSSL tool. PEM certificates can be opened by a text editor, LF as well as CRLF are allowed as line breaks. CACERT.PEM : A demo certificate for "Example CA" 01CERT.PEM : A demo certificate which is signed by CACERT.PEM 01KEY.PEM : A demo private key for 01CERT.PEM Passphrase is "password". CLIENT.PEM : A demo certificate and private key. Passphrase is "password". SERVER.PEM : A demo certificate and private key. Passphrase is "password". ROOT.PEM : A demo CA certificate. Passphrase is "password". TRUSTEDCABUNDLE.PEM : A demo CA file in PEM format containing multiple well known root CA certificates to be specified in property CA Path of the demo applications. Read the comments included in this file. 6F6359FC.0 : Located in sub directory SslInternet\TrustedCaStore, it's the file CACERT.PEM stored with a hashed file name. Directory TrustedCaStore can be specified in property CA Path of the demo applications. For details about certificate, see the excellent book: "Network security with OpenSSL", O'Reilly, ISBN 10: 0-596-00270-X The SSL demo project OverbyteIcsPemTool may be used to create self signed PEM certificates, certificate requests for commercial use, to convert existing certificates in the Windows Certificate Store to PEM format understood by OpenSSL and to examine PEM certificates. You will find more information in IcsSslHowTo.txt file. Commercial SSL certificates: To avoid browsers giving certificate warning messages, you need to purchase a SSL certificate from one of numerous companies, such as Verisign, Thawte GeoTrust or RapidSSL. Prices vary dramatically and are often cheaper from resellers such as Servertastic than from the main issuing companies. The main purpose of an SSL certificate is to prove the identity of the owner of a web site, ideally the company behind the web site. That usually requires paper work identifying the company is submitted and also proof the domain being protected is owned by that company, it usually also involves telephone calls. Such certificates are usually called fully validated and cost $120 or more each year for a single domain, ie secure.website.com. Wild card certificates cost $350 or more, but protect multiple sub-domains, ie web.website.com as well. Extended Validation certificates cost from $450 a year, and show the company name in green in the address bar. For testing and simple use, instant issued SSL certificates cost from $15 per year and protect a single domain only with automated checking reducing the cost (an email to admin@website.com to prove you receive email for the domain, perhaps a telephone call as well). Note these instant certificates do not include a company name. To buy and install an SSL certificate for use with ICS and OpenSSL follow these steps: 1 - Build the SSL demo project OverbyteIcsPemTool. Take Extras, Create Certificate Requests, fill in the various fields (check other certificates if uncertain, the Common Name is the domain to protect, ie secure.website.com and E-Mail should be an email address at the than domain, ideally admin or administrator, 2048 bits. Click Create, and specify two file names, first for the private key (mykey.pem) then the certificate request file (myreq.pem). The request can also be done using OpenSSL command line arguments, or you can build it into your own application. 2 - Choose you SSL supplier and certificate type, at some point during the ordering process you will be asked for the certificate request, so open the PEM file you saved with a text editor and copy the base64 encoded block starting -BEGIN CERTIFICATE REQUEST- into the web form. It should be decoded and displayed so you check it's correct. The private key is not needed for the certificate to be issued. At this point the validation process starts as mentioned above, which might take hours or weeks to complete. 3 - Eventually the SSL certificate should be issued, either by email or made available to download from the supplier's web site. It should be in X.509 format in a base64 encoded block starting -BEGIN CERTIFICATE- which should be saved as a PEM file (mycert.pem). There should also be an Intermediate CA certificate, with which your new certificate was signed, which should also be saved as a file (mycacert.pem). This may also be downloadable from the supplier as a bundle file and should be common to any certificates they issue, ie RapidSSL_CA_bundle.pem. 4 - The OverbyteIcsPemTool tool has a View PEM button that allows examination of your new PEM files. 5 - The three PEM files now need to be attached to the SslContext component in your application, with properties SslCertFile, SslPrivKeyFile and SslCAFile. The request certificate file has no further use. Support: -------- There is a mailing list to discuss F. Piette's components and applications. To subscribe surf to http://lists.elists.org/mailman/listinfo/t<em>wsocket</em>. Do not use an aliased EMail address, use your real EMail address, the one you'll use to post messages. After asking for subscription, you'll receive a confirmation email you must reply to it or you will _not_ be added to the subscriber's list (this is to check for email path and also make sure someone doesn't subscribe you without your consent). Once you have been registered with the mailing list processor, you can send messages to t<em>wsocket</em>@elists.org. Every subscriber will receive a copy of your message. I will respond, but anybody is welcome to respond to each other's messages. So every body can share his expertise. There are many other useful mailing lists at http://www.elists.org ! Before asking a question, browse the message archive you can download from the support page on the web site (click the "support" button from main page) and from the mailing list web site http://lists.elists.org/mailman/listinfo/t<em>wsocket</em>. Google is also archiving the list with some delay. If you found a bug, please make a short program that reproduces the problem attach it to a message addressed to me. If I can reproduce the problem, I can find a fix ! Do not send exe file but just source code and instructions. Always use the latest version (beta if any) before reporting any bug. You are also encouraged to use the support mailing list to ask for enhancements. You are welcome to post your own code. The support mailing list has sometimes a heavy traffic. If it is too much for you, you can select "digest" mode in which mailing list processor will mail you only one big message per day. To select digest mode goto http://lists.elists.org/mailman/listinfo/t<em>wsocket</em>. You can also subscribe to another mailing list called t<em>wsocket</em>-announce which will receive only very few messages when major bug fixes or updates are done. The subscription process is the same as for the other mailing list. See above procedure. Release notes ------------- There is no global release notes. Each component and sample has his own history. You can find those histories in the comment in the beginning of each source file. There are also a bunch of useful comments in the source code. You should at least browse the source for the components you are interested in. MidWare ------- If you wants to build client/server applications using TCP/IP protocol, you can do it easily with ICS. But you can do it much more easily using another freeware product from Fran鏾is Piette: MidWare. Available from the same web site http://www.overbyte.be. francois.piette@overbyte.be francois.piette@swing.be http://www.overbyte.be/ http://wiki.overbyte.be/
有用过ICS的WSOCKET的吗?
我用ICS的WSOCKET发广播时,<em>为什么</em>不能侦听,当在ADDR中输入**255.255时,连接完成后侦听,就会出错。而用具体的地址就行?那怎样才能即能发广播又能自己侦听呢?
手机无法接收短信原因及解决办法
原因一:手机短信中心号码不正确因为有的机型牵涉到定制版本以及行水货港行的差别,这些机型的短信中心号码一般都不是大陆的短信中心号码,而行货手机在刷机或者恢复出厂设置之后也会变成出厂时的设置,就可能会造成短信中心号码不匹配。由于全国不同地区还分着不同的运营商,所以短信中心号码在每个地区都不一样,这就进一步造成了短信中心号码的混乱。而用户自行的错误设置也可能造成短信中心号码不正确,所以说手机不能正常<em>收发</em>
ICS - Delphi网络访问组件测试程序
ICS - Delphi网络访问<em>组件</em>测试程序,测试客户端发送命令或者<em>文件</em>给服务器,<em>使用</em>ICS控件的范例
联想笔记本电脑蓝牙没有“发送文件”和“接受文件”选项的解决方法
今日不知是何原因联想笔记本自带的蓝牙显示驱动不存在,本想简单的安装一个联想官网蓝牙驱动能解决,可是结果却和想象不同。 驱动可以正常安装,并且可以正常在笔记本上显示出来正常接入的设备。 但是在右下角的蓝牙图标上点击鼠标右键却发现没有以前常用的“发送<em>文件</em>”和“接收<em>文件</em>”这两个选项。这以后岂不是没法<em>收发</em><em>文件</em>了,比较郁闷。 由于以前是有的,但是本次是驱动丢失重新安装了联想的蓝牙驱动之
nrf2401程序(收发都有,注释清晰)
nrf2401程序(<em>收发</em>都有),在keil上运行通过,注释清晰,初学者必看。
如何通过python发送日历邮件(ics
email的rfc:[url]https://tools.ietf.org/html/rfc2446[/url] 方便起见,用代码说话(只是最简单的版本,各种定制需求可以参看rfc,不过很多效果需要客户端的支持,支持的比较好的是outlook) [code=&quot;python&quot;] # encoding: utf-8 import smtplib from email.MIMEMu...
ICS网络控件,Delphi 使用
比DElphi自带的网络控件<em>使用</em>更方便的网络控件,能在多个Delph版本中<em>使用</em>,对UDP有通信支持更科学合理。
rtx出现无法接收图片或者消息库被占用的问题的解决方法
我出现这个问题的原因是我的rtx和qq都安装在tecent<em>文件</em>夹下,所以我重新
邮件服务器不能收发的原因与解决方法
分析邮件服务器不能<em>收发</em>的原因与解决方法   有很多用户都会碰到邮件服务器不能正常<em>收发</em>邮件,但又束手无策。以下是 本人的一点经验与总结。
Java生成ics文件
java生成ICS<em>文件</em>,这玩意好象是个什么日程表类的东西。可以导入到outlook里面用。 [code=&quot;java&quot;] public void exportActivityDates(HttpServletRequest request, HttpServletResponse response) throws Exception { MenuBean menuBean = (...
中国农历ics文件1941-2050全
中国农历<em>ics</em><em>文件</em>1941-2050全
socket发送字符流,无法接收回复的流
00 socket发送字符流,<em>无法</em>接收回复的流3 服务端:  Java代码   package socket;      import java.io.IOException;   import java.net.ServerSocket;   import java.net.Socket;      public class SocketS
Windows 共享无线上网 无法启动ICS服务解决方法(WIN7 ICS服务启动后停止)
ICS 即Internet Connection Sharing,internet连接共享,可以使局域网上其他的电脑通过配置ICS服务的电脑上Internet.可以说ICS提供了一种简单的代理服务器的功能。 方法一: 开始->控制面板->网络和共享中心->更改适配器设置->本地连接属性(右键单击本地连接,然后选择属性)->共享->勾选“允许其他网络用户通过此计算机的Internet连
不能接收彩信的原因及自动收发彩信解决方案
好消息:已有朋友在下列机型或ROM上改进,<em>成功</em>接收彩信。 * EPIC 4G * i500 Ocean 8.3 * i500 Sakya EH03 V1 V2 经过N天的努力和尝试,终于解决了美版MIUI的彩信接收问题。目前测试的结果,有很多朋友已经可以完美接收彩信。另一部分<em>无法</em>接收彩信的原因,正在进一步研究中。但只要有能够接收的,就说明这个问题已经得到了初步的解决。而且从理论上来
socket收发消息
<em>使用</em> Socket(套接字)进行不同的程序之间的通信 建立连接 1. 服务端开启8888端口,并监听着,时刻等待着客户端的连接请求  2. 客户端知道服务端的ip地址和监听端口号,发出请求到服务端  客户端的端口地址是系统分配的,通常都会大于1024  一旦建立了连接,服务端会得到一个新的Socket对象,该对象负责与客户端进行通信。  注意: 在开发调试的过程中,如果修改过了
tcp 发送接收文件
bool recvfile(char *ip) //参数为服务端IP { // 初始化 Winsock. WSADATA wsaData; int iResult = WSAStartup( MAKEWORD(2,2), &wsaData ); if ( iResult != NO_ERROR ) printf("Error at WSAStartup()/n"); // 建立soc
ICS 中WSocket 交互怎么不对呢?还有传文件
最近参考了bdmh朋友rnhttp://hi.baidu.com/jasonggg/blog/item/6de82a86f30a3d3967096e21.htmlrn关于ICS传送数据的例子。rnrn[code=Delphi(Pascal)]//服务器端:rnprocedure TForm1.ClientDataAvailable(Sender: TObject; Error: Word);rnvarrn S: String;rnbeginrn with Sender as TTcpSrvClient dorn beginrn S := ReceiveStr;rn if SameText(S,'File') thenrn beginrn SendStr('Size');rn S := ReceiveStr;rn if StrToInt64(S) > 0 thenrn beginrn .....rn end;rn end; rn end;rnend;[/code]rnrn//客户端rn[code=Delphi(Pascal)]procedure TForm1.SendInfo;rnbeginrn WSocket1.SendStr('File');rnend;rnrnprocedure TForm1.WSocket1DataAvailable(Sender: TObject; ErrCode: Word);rnvarrn S: String;rn AStream: TMemoryStream;rn Size: Int64;rnbeginrn AStream := TMemoryStream.Create;rn tryrn AStream.LoadFromFile('d:\....');rn AStream.Position := 0;rn S := WSocket1.ReceiveStr;rn Size := AStream.Size;rn WSocket1.SendStr(IntToStr(Size));rn .....rn finallyrn FreeAndNil(AStream);rn end;rnend;[/code]rnrn不知道<em>为什么</em>不能交互呢?rn以前没有用过ICS,还请勿怪!rn对了还要请问下<em>文件</em>传送是怎么做的呢?非常感激朋友们了!
socket实现UDP收发消息
import socket while True: # 创建udp套接字 udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) # 设置接收方的地址和端口(根据具体情况更改) dest_addr = (&quot;255.255.255.255&quot;, 8080) # 从键盘输入数据 sen...
NRF24L01+接收不正常的问题(只有开机才能接收到一两条数据)
NRF24L01+接收不正常的问题(只有开机才能接收到一两条数据)稍后整理: 网上的说法无外乎几种:1. 供电不稳;2. 接收函数设置不对;3. 地址,通道,频率,字节数不对。
自动开启internet连接共享(ICS)的命令行
【分享】利用批处理自动开启internet连接共享(ICS)。可以指定网卡,开启或关闭。
客户端和服务器端互相收发消息
服务器端源代码如下: #include #include #include #include #include #include #include #include #include #include #define MAXBUF 1024 /************关于本文档*****************************
android中关于udp发送、接收的一些重点总结
最近做了一个关于udp的项目,分为移动端和服务器端,移动端用来给服务器发送数据同时接收服务器返回的数据,服务器当然是接收客户端数据了,然后返回一定的信息。期间遇到了很多问题,但最后还是解决了,所以想和他人分享一下下,希望可以帮到一些开发的朋友。       做这个项目时,在网上也是查了一些资料,发现很多朋友在客户端接收服务器返回数据时出了问题,发送几乎没有什么问题。       这些问题的发生
停止ICS防火墙
现在越来越多的服务器用的是ICS防火墙,配合ipsec来管理远程登陆和端口安全搞的真是要天下无黑了很多服务器直接打下来却连不上3389,仔细分析完也没找到什么防火墙或者新鲜软件,ipsec服务关闭以后也没效果。着实郁闷了一翻想一想就是自带ICS搞的鬼吧服务中显示:Windows Firewall/Internet Connection Sharing (ICS)我们可以用net stop "Win
在网络中使用IO流进行数据收发
 在Java当中,所有对外设的操作都通过IO流来实现,不管是从磁盘中读取或写入<em>文件</em>,或者是从网络环境中接收或发送数据。IO流的基类有两个InputSstream和OutputStream,它们实现IO最基本的、无数据缓冲的、按节节流进行读写的操作功能。但是在实际的处理当中,为了数据读写的方便或提高读写的效率,往往会用到它们的子类,比如带缓冲区的类BufferedInputStream、Buff
ICS TFTPClient 的相关操作。
unit UindexFTP;  interface  uses    SysUtils, Classes ,StrUtils ,OverbyteIcsWndControl, OverbyteIcsFtpCli;  type    TFindFile  = procedure(FileName,EditTime,Attribute,Owner,Group,Size:string
stm32应用-简单的串口接收与发送程序
与上位机的串口通信是一个很常用的程序。碧海蓝天在刚刚接触stm32芯片时写的第一个简单程序就是串口通信,现在把程序代码甩出来与大家分享。完整的程序哦~一般人我不告诉他  库版本  :ST3.0.0 <em>文件</em>:mian.c //功能:串口初始化、打开定时器中断,然后一直接收数据状态就好了。发送在中断中实现 #include "stm32f10x.h" #include "usa
COM组件注册DLL不成功
COM注册DLL不<em>成功</em> COM注册的DLL也和任何动态链接库一样是编译程序生成的 动态链接库的最重要的特点就是一个DLL可能依赖其他DLL,依赖的功能在其他DLL内部,只有程序运行时,才会将指令走到其他DLL中去。 编译这种DLL并不需要其依赖的其他DLL<em>文件</em>,而只需要.h头<em>文件</em>和.lib引用<em>文件</em>。 COM<em>组件</em>在注册DLL的时候会找到其依赖的DLL,如果找不到就会注册失败。 所以解决
mqtt消息,通过js 接受和发送消息
通过js 实现mqtt消息实现,本资源只有js部分,服务端是java写的,可参考网上的也可以去下载我的另一个资源。
vue做的单页面组件(单文件组件)不起作用,webpack已经打包成功,页面中没有结果
vue做的单页面<em>组件</em>(单<em>文件</em><em>组件</em>)不起作用,webpack已经打包<em>成功</em>,页面中没有<em>组件</em>的内容解决方案1:   可以尝试把 import Vue from &quot;vue&quot;;  改为:import Vue from &quot;vue/dist/vue.js&quot;;试试。如果惊奇地发现,页面中出现了<em>组件</em>的内容,一切ok,说明了………………...
解决:关闭移动数据,接收彩信,不能成功接收下载彩信
【前置条件】关闭数据业务 【操作步骤】发送彩信,或者接收彩信 【测试结果】<em>无法</em>发送彩信;收到彩信后<em>无法</em>下载内容 【预期结果】可以正常<em>收发</em>彩信 经过分析我们发现,由于发送彩信需要数据业务打开进行支持,数据业务关闭后,则<em>无法</em>发送彩信,因此我们为了不影响彩信业务,在彩信发送前对数据网络是否打开进行检测,如果数据业务设置为关闭状态,我们则打开数据业务进行彩信的发送,当彩信发送结束后我们在对关闭数据
ICS日历导出导入 源程序
ICS日历导出导入 源程序。。。。。。。。。。。。。。。
如何用电脑收发传真?电脑怎么收传真?电脑怎么发传真?
一、个人用户   个人用户的特点是传真少,不需要强大的传真管理功能,最好是免费。针对此特点,一般建议<em>使用</em>windows自带的传真功能来<em>收发</em>,以下以Win7为例说明。   1、准备   准备一个传真Modem,安装到电脑上,然后安装好驱动,并且连上电话线。传真号码就是电话号码。   2、打开传真软件   依次点击“开始->所有程序” ,然后点击“Windows 传真和扫描”,打开传
TCP连接建立好了之后 服务端一直不接受数据怎么办
TCP连接建立好了之后 服务端一直不<em>接受</em>数据怎么办?参考Tcp服务端一直sleep,客户端发送数据问题
TCP/IP 协议的发送与接收
一、TCP数据报结构以及三次握手 TCP(Transmission Control Protocol,传输控制协议)是一种面向连接的、可靠的、基于字节流的通信协议,数据在传输前要建立连接,传输完毕后还要断开连接。 客户端在<em>收发</em>数据前要<em>使用</em> connect() 函数和服务器建立连接。建立连接的目的是保证IP地址、端口、物理链路等正确无误,为数据的传输开辟通道。 TCP建立连接时要传输三个数据包,...
android串口收发数据
android串口<em>收发</em>数据,GPS调试 工具,符合MB100麦哲伦主板
python网络编程之多线程同时接受和发送实例
python网络编程之多线程同时<em>接受</em>和发送 该文档仅用作学习笔记,转载请表明出处 ''' 模仿qq 同时可以发送信息和<em>接受</em>信息多线程 ''' from socket import * from time import sleep import threading # 负责接收数据 def recvData(): udpRecvSocket = socket(AF_INET,SOCK...
VoLTE技术中的会话持续性-ICS
参考文献: 1,邮电设计技术:移动软交换向m-AGCF演进分析 2,3GPP ICS标准 目录 ICS概念 ICS的用户需求场景 ICS对现网的影响 ICS中的用户终端 ICS中的用户标识 ICS、SRVCC、eSRVCC间的关系 ICS架构图 ICS中的SCC-AS ICS中的新概念     1,呼叫控制信令、承载控制信令     2,接入域选择ADS     3,T-ADS(被叫侧接入域选择
android 通过蓝牙接收文件,从历史传输记录打开,无法自动选择合适的应用程序
通过蓝牙接收<em>文件</em>,从历史传输记录打开,<em>无法</em>自动选择合适的应用程序 但是从file manager打开这个新接收的<em>文件</em>,是可以选择对应的应用程序(比如video player打开.3gp、.mp4<em>文件</em>)   历史传输记录打开download的<em>文件</em>,是通过接收<em>文件</em>时对方传过来的mime type来选择适合的APP打开该<em>文件</em> 如果出现提示“未支持格式的<em>文件</em>”,或者<em>使用</em>了错误的APP来打开该<em>文件</em>
关于android邮件的收发
讲到android的邮件<em>收发</em>,首先就要讲讲关于邮件协议的一下基础,度娘基本都有,这里是怕自己忘记,贴点备忘录。 现在常用的电子邮件协议有SMTP(25)、POP3(110)、IMAP4(143)。他们都处于TCP/IP协议簇,还包括他们的加密协议,SMTPS(465)、POPS(995)、IMAPS(993),他们的默认端口号都在后面的小括号里面了。其中的细节就不讲了,SMTP协议负责发
ROS速成之发送&接收消息
人真的老了,扔了个周末,完全不记得干了什么...论纪录的重要性啊,当时觉得明白的很,你扔两天试试?扔一年试试?扔几年试试? 最近参加的各种项目脑疼眼乏,一天要同时推进三个项目,且都是技术一线,各项目之间相关性不强,往往是第一个项目上午干了记录下,下午又投入到第二个项目中去,纪录完了后晚上又投入第三个项目,这样将整段时间投入,尽量保证工作进度。因为如此的工作模式,而且也只能这样的工作模式,纪录就非...
深入理解ICS和NAT
Internet是针对全局唯一的IP地址空间而设计的,每一个连接到Internet的接口都必须拥有一个基于该接口所连接子网的唯一Internet IP地址,因此不管此接口所在的子网在Internet上如何进行路由,别人总可以通过你的Internet全局唯一的IP地址对你进行访问。 但是随着可分配的IP地址空间逐渐减少,而连接到Internet上的主机数量却大量的增加,已经不可能再为每一台需要连
Windows FirewallInternet Connection Sharing (ICS)服务错误5无法启动
Windows FirewallInternet Connection Sharing (ICS)服务错误5<em>无法</em>启动
C#实现文件的发送和接收
为了把问题说清楚,把一些变量都直接附值了,并没有通过输入附值private string path = "F://SmartMovie.EXE";    //要发送的<em>文件</em>                      private Socket s;                                       private void listen()        { 
串口调试-可通过串口发送接收文件
基于MFC利用CSerialPort类自己写的串口小程序,可以发送<em>文件</em>;接收<em>文件</em>的程序是在《Visual C++/Turbo C串口通信编程实践》(第二版-龚建伟)一书中的“串口调试助手”源码的基础上改写的,<em>文件</em>默认保存于D:\RcvData.dat。 协议是:数据包的组成为:包头为一个字节(0xFF),接下来为一个字节的包长(200,可改变),接下来一个字节为包长的补码(256-200=56),接下来为200个字节的有效数据,接下来为两个字节的效验和。发送程序发送完一个数据包后等待接收程序的响应,如接收正确则发送下一个数据包,否则重发。接收程序接收到0xFF认为数据包开始,然后再累加接下来接收到的两个字节如其和为256则认为接收正确,然后累加接收到的200个有效字节,然后将其与接收到的效验和相比较,如相等则接收正确,向发送程序发送接收正确的响应,否则发送接收错误的响应。 感觉“雪莉蓝串口调试助手”中发送的十六进制输入时的输入模式比较好,打算自己效仿,由于没有源码,只能慢慢百度,于是花了一天,过程比较烦,中间也想过放弃算了,但还好最后实现了,happy一下。
Linux串口通信中一种接收不到数据的问题的解决
转载来源:嵌入式系统之初学者点滴 (百度空间) 原文 在这篇文章()中,实现了Linux环境下的串口读写操作,程序也运行<em>成功</em>了。但是再进一步测试时发现,如果开机之后直接如上文中所说,分别运行读程序和写程序,再用导体同时触碰串口的2、3针的话。此时将显示写入串口<em>成功</em>,但是读串口数据失败。 这个奇怪的问题当时之所以没有被发现出来,是因为在这之前,曾经打开过一次minicom。后来实验
关于Jmail不能发送邮件问题
如果,出现连接正常,但,发送报错。检查是不是以下包没有导入lib中, 示例代码 发送用sina邮箱,在sina邮箱中要设置开放pop和smtp功能 Send.java package com.Email; import javax.mail.*; import javax.mail.Message.RecipientType; import javax.mail.internet
ICS开源网络控件
开源的网络控件,非常好用。支持2011版
kafka消息发送和消息接受
1:在虚拟机模拟,克隆2个虚机作为消息消费者 2:在2台消息消费者上执行 kafka-console-consumer.sh --zookeeper host:2181 --topic demo 3:在消息服务者上执行 kafka-console-producer.sh --broker-list localhost:9092 --topic demo 4:在2和3<em>成功</em>后,在3上输入
udp的发送数据和接收数据
1.发送数据 String ip = (String) SPUtils.get(IP_INFO, defaultIp, this); //获取本地ip地址 InetAddress receiverHost = InetAddress.getByName(ip); byte[] titleByte =
Qt5-TCPsocket文件传送接收
Qt5实现的一个TCPsocket<em>文件</em>发送与接收程序
51单片机和HC05蓝牙模块对接成功,但是数据收发时候发现数据很多时候对不上问题解决
最近用89c51单片机和HC05蓝牙模块进行了匹配和数据对接。 总体上匹配<em>成功</em>,数据也可以发送接收<em>成功</em>,但是发现一个奇怪的问题,有时候发送一个一字节的数据,低四位正常接收,高四位<em>接受</em>异常。 比如发送0x10 <em>接受</em>为0x30; 后来发现是晶振的问题,之前一直用卖方指定的12M晶振,后来发现用11.0295M晶振可以正常<em>接受</em>。 ---》波特率的问题,51单片机12M晶振9600的波特率误差高达
Linux串口编程
linux 下串口编程详细讲解,实习uart的<em>收发</em>,解决了特殊字符<em>无法</em>发送<em>接受</em>问题
ICS学习——1——计算机系统漫游——(From:TJU章亦葵教授的课程《计算机组成原理》)
一、不同的结构 中央处理器的体系架构可以分为:冯·诺依曼结构和哈佛结构 冯·诺伊曼结构与储存程序型电脑是互相通用的名词,其用法将于下述:8086,ARM7,MIPS 而哈佛结构则是一种将程序指令存储和数据存储分开的存储器结构设计概念:AVR,PIC,ARM9,10,11 二、计算机中的信息 系统中所有信息——包括磁盘<em>文件</em>、存储器中的程序、存储器中存放的用户数据以及网络上传送的数据,都是
Delphi 7的Indy网络组件学习笔记01
为了适应网络的迅速发展,Delphi推出了大量适合于网络环境开发应用的<em>组件</em>, 如图10.4所示是Delphi中的Indy<em>组件</em>页,其上集中了当前网络上常见的服务类型。 图10.4 Indy<em>组件</em>页10.3.1 Indy<em>组件</em> 1. Indy Clients页 (1)IdTCPClient 封装了TCP客户端的所有功能,包括套接字支持,用于编写TCP客户端软件或派生其他类。
mqtt入门(消息收发demo)
MQTT简介:      随着物联网的火热,机器之间(Machine-to-Machine,M2M)的大规模沟通需要不同的模式,(Request/Response)模式不再合适,取而代之的是发布/订阅(Publish/Subscribe)模式。这就是轻量级、可扩展的MQTT(Message Queuing Telemetry Transport)优势。运用MQTT协议,设备可以很方便地连接到物联网...
收发文件的服务器端/客户端实现
程序需求 客户端<em>接受</em>用户输入的传输<em>文件</em>名 客户端请求服务器端传输该<em>文件</em>名所指<em>文件</em> 服务器端代码: #include &amp;lt;iostream&amp;gt; #include &amp;lt;string&amp;gt; #include &amp;lt;stdlib.h&amp;gt; #include &amp;lt;string.h&amp;gt; #include &amp;lt;unistd.h&amp;gt; #include &amp;lt;arpa...
gloox注册、登录、登出、消息收发的实现(IM客户端)
Gloox的资料实在太少,官方包里有example,但每个用法示例的注释也没有。在反复阅读example下的代码,组合,基本实现了用户的注册、登录、登出 以及 消息的发送与<em>接受</em>。主要参考 register_example.cpp 与 message_example.cpp 封装了一个类Gloox Gloox.h#ifndef GLOOX_H #define GLOOX_H#include &quot;glo
利用ICS服务共享Internet连接
Windows 2000提供的ICS服务为家庭网络或小型办公网络接入Internet提供了一个方便经济的解决方案。ICS允许网络中有一台电脑通过接入设备接入Internet,要求这台电脑是基于Windows 2000的系统,通过启用这台电脑上的ICS服务,网络中的其他电脑就可以共享这个连接来访问Internet的资源。      为了方便起见,我们将设置了ICS服务的电脑称为ICS电脑,网
qt-tcp发送和接收识别
tcp的传输方式是1:N的模式, 也就是一个服务器,对应多个客户端。 在<em>使用</em>的过程中,怎么区分客户端哪个是那个,谁是谁,是很重要的一个问题, 今天琢磨了好久,虽然最后失败了,还是写上来,大致了解一下,1:客户端连接服务端。 这个就是运用到了qt的槽机制,自动的生成了线程,可以自动的获取客户端发送的数据,// 新建tcp链接 void updComm::initTcp() {
Android UDP连接发送请求和接受请求的例子
UDP请求的发送 import android.content.Context; import android.net.wifi.WifiInfo; import android.net.wifi.WifiManager; import android.util.Log; import com.changhong.electric_controll.UDPResponseCallback;
关于ICS,Internet连接共享
ICSInternet Connection Sharing通过在<em>使用</em>拨号连接的计算机上启用 Internet 连接共享,您可以为家庭网络中的所有计算机提供网络地址翻译、寻址和名称解析服务。其中包含有一个Mini-DHCP当启用了ICS,也就启用了一个Mini-DHCP Server, 它包括DHCP allocator, DNS proxy 及 WINS proxy<em>组件</em>.不能将ICS与DHCP用
C++实现的TCP协议的文件传输
用C++实现的TCP协议的<em>文件</em>传输代码,代码简单明了,即下即用
android 使用asmack库进行文件收发
之前记录了部分的怎么用smack进行连接、登录、聊天等等,这边就接着说<em>文件</em>传输,看官方的文档, http://www.igniterealtime.org/builds/smack/docs/latest/documentation/extensions/index.html 看完文档你会觉得好简单呐,不过要操作起来真的挺要命的,至少我挺纠结的。 先说步骤 1、创建一个<em>文件</em>传输管理的类
AttackLab 这次我偷懒了
这里有题解,这里有题解,这里有题解 迅速暴击上面一行,,,,,感谢男神LJL留几张图第一次lab结束的时候还是12点之前,感人(PS:本篇好水,, (反正没人看,(逃
使用DatagramSocket发送、接收数据
基于UDP套接字的Socket http://book.51cto.com/art/201203/322540.htm java<em>使用</em>DatagramSocket代表UDP协议的Socket,DatagramSocket本身只是码头,不维护状态,不能产生IO流,它的唯一作用就是接收和发送数据报,Java<em>使用</em>DatagramPacket来代表数据报,DatagramSocket接收和发送的数据都是...
android 蓝牙ble连接成功,却收不到数据
AndroidManifest.xml 最小SDK不能小于8
android短信发送和接受
短信发送发短信第一件事是在manifest<em>文件</em>中添加权限 第一方法:调用系统发短信的应用 /** * 调起系统功能发短信 * @param phoneNumber * @param message
串口中断@mb90543
串口中断实验。完成发送,幷中断<em>接受</em>。在串口助手的操作下。可以<em>成功</em><em>收发</em>。波特率9600
GAMIT处理IGS站北斗数据报错。
Processing  2018 101 X-file series to be used is: 8   Sites extracted from sites.default to ftp from global rinex data archives: kour mas1 brst vill kiru bor1 lamp nico mal2 djig Sites extracted from ...
linux网卡数据流 发送与接收
通常在驱动中看见的网卡代码很多,但是都离不开发送与接收,掌握好骨干也就好阅读网卡驱动了。 数据发送 : 发送函数:xxx_start_xmit() 上层封装好了sk_buff丢进kernel后,buf存储在skb->data中,通 过 xxx_start_xmit(),发送出去。 下面的实例是通过写入某个设备节点发送出去,当然这个设备肯定是串口或者sdio等传输设备, 也可以直接
Extmail 邮件服务器不能接收邮件,只能发送的解决办法
执行以下命令:#service syslog restart
React总结6:无状态组件
我们可以用纯粹的函数来定义无状态的<em>组件</em>(stateless function) 这种<em>组件</em>没有状态,没有生命周期,只是简单的<em>接受</em> props 渲染生成 DOM 结构。无状态<em>组件</em>非常简单,开销很低,如果可能的话尽量<em>使用</em>无状态<em>组件</em>。比如<em>使用</em>箭头函数定义:const HelloMessage = (props) => Hello {props.name}; render(<H
用jspsmartupload实现文件上传下载遇到的问题
今天学习了在web项目中用jspsmartupload插件实现简单的<em>文件</em>上传下载功能,因为过程很曲折,就写了下来。最开始,因为第一次用插件,发现插件比写底层方法要快多了。但用的过程中就发现了一些问题,对于初学java的我实在是头大。记录一下遇到的问题吧: 1.在<em>文件</em>上传的jsp页面出现中文乱码的问题,在网上搜了一下午加一晚上的方法,各种尝试。大多数都是request.setCharacterEn
360随身wifi导致outlook不收发邮件解决办法
<em>使用</em>360随身wifi会导致exchange outlook不能<em>收发</em>邮件,一直找不到解决办法,如果不<em>使用</em>360随身wifi就不会出现问题,所以一直在找是不是360随身wifi设置上的问题,后面发现通过修改exchange服务器设置可以解决问题。 打开控制面板==>邮件==>设置邮件帐号 在安全性中把加密项不选中就可以解决问题。
ics服务启动失败的一种解决方法
说明:ICS(Windows Firewall/Internet Connection Sharing)就是Windows防火墙和网络连接共享服务,它是一种提供网络地址转换、 寻址、 名称解析和入侵预防服务对于家庭网络或用于小型办公网络的服务。如果有远程访问、共享等问题,应该看看这个服务的状态是不是启用。 <em>ics</em>启动失败这个问题我去用心解决过两次,第一次没有解决的得了,是高人给出建议解决的。第
linux 网络编程:使用两线程实现socket同时收发数据
工作中最近有<em>使用</em>到socket 向客户端同时发送和接收数据,因为是嵌入式linux设备,且要求只能同时一个客户端连接该端口。考虑到节省系统资源,只创建了两个线程分别实现服务端的<em>收发</em>数据。下面直接上代码,该代码为在PC机上程序,已作详细注释。 server.c #include #include #include #include #include #include #include #incl
利用UDP协议发送与接收文件
一、发送端  //初始化winsocket库  WORD ver;     WSADATA WSAData;  ver=MAKEWORD(1,1);     if(WSAStartup(ver,&WSAData))  {   MessageBox("Startup error");   return;  }  if ( LOBYTE( WSAData.wVersion ) !=
java ics 发送邮件日历提醒
最近做了一个项目,要根据客户定制的任务信息发日历提醒信息,上网查了些资料,发现网上的资料有些不全,这对于初次接触这个技术的人来说是件很麻烦的事,所以把代码分享一下,希望对大家有所帮助。       发送日历提醒有两种方式 ,一种通过纯文本方式,一种是通过iCal4j 自动生成一个提醒时间,不管哪种方式,都要有一下几个元素 BEGIN:VCALENDAR
飞秋在VLAN间传输文件操作说明
飞秋在VLAN间传输<em>文件</em>的操作方法,使VLAN间可以高速率的传输<em>文件</em>
Qt下UDPSocket一段时间后接收不到数据的问题
Qt下UDPSocket一段时间后接收不到数据的问题
文章热词 决策树算法评价标准熵 设计制作学习 机器学习教程 Objective-C培训 交互设计视频教程
相关热词 server的安全控制模型是什么 sql ios获取idfa android title搜索 ios 动态修改约束 java学习使用什么软件 python学习用什么软件
我们是很有底线的