阿杰 发表于 2010-7-7 22:37:20

易语言差异屏幕传输,纯API版

屏幕传输,绝对精品
客户+服务器 不卡屏,不花屏

**** Hidden Message *****

fireeagle 发表于 2010-7-9 18:49:55

看看盾地   有用吗一

ljl88900 发表于 2010-7-10 10:59:07

不错!

yanxinchao 发表于 2010-7-11 21:07:32

下来学习看看

smnk 发表于 2010-7-14 11:15:26

分块算法的么?

806028996 发表于 2010-9-25 20:41:32

回复了,下载

duy521 发表于 2011-2-18 23:41:50

hack001 发表于 2011-2-19 20:20:10

zhichikaiyuan

hack001 发表于 2011-2-19 20:21:57

zhichikaiyuan

dajingang 发表于 2011-2-27 09:43:49

下来试试:loveliness:

wangwho 发表于 2011-5-6 17:55:15

API.......幸好API的是通用

cbqandlws 发表于 2011-5-9 09:03:09

看来是个好东西哟,O(∩_∩)O谢谢

ccini 发表于 2011-5-10 00:39:43

杰哥真帅
:)

坏的刚刚好 发表于 2011-5-20 15:58:53

杰哥的东西,好

yelangwy 发表于 2011-6-23 16:20:34

可终于能顶下了。。谢谢老马啦。

yelangwy 发表于 2011-6-23 16:21:40

哎。。好可惜。没有水晶币啊。。呜呜。。。。。。

yelangwy 发表于 2011-6-23 16:47:53

阿杰啊。这个文件已经损坏了哇。我都买了好几好几次了,下载后都是一样一样的。。。{:1_135:}

yelangwy 发表于 2011-6-23 16:56:32

yelangwy 发表于 2011-6-23 16:47 static/image/common/back.gif
阿杰啊。这个文件已经损坏了哇。我都买了好几好几次了,下载后都是一样一样的。。。

:hug:管理真好。

zhan358369690 发表于 2011-9-17 20:55:53

防御夫妇愚夫愚妇

coody 发表于 2011-9-20 21:52:39

来学习一下!!!!!

jzy1115 发表于 2011-11-18 20:38:44

纯api?
不用winsock?

hhhtv 发表于 2012-1-28 20:36:22

数据报、客户、服务器(易语言教程)
这是三个典型的网络控件,写网络程序少不了它们。
      通过网络交互数据,首先要明白“连接”和“无连接”的概念。最简单的例子莫过于打电话和写信。两个人如果要通电话,得首先建立连接——即拨号,等待对方应答后才能相互传递信息,最后还要释放连接——即挂电话。写信就没有那么复杂了,地址姓名填好以后直接往邮筒一扔,收信人就能收到。用数据报控件进行数据交互,类似于写信,是基于“无连接”的;用客户、服务器进行数据交互,类似于打电话,是基于“连接”的。
      根据提供服务类型的不同,端口分为两种,一种是TCP端口,一种是UDP端口。计算机之间相互通信的时候,分为两种方式:一种是发送以后就不管了,不去确认信息是否到达,这种方式大多采用UDP协议(我们熟悉的OICQ就是采用这种协议);一种是发送信息以后,可以确认信息是否到达,也就是有应答的方式,这种方式大多采用TCP协议。(这两种交互方式分别类似于生活中的写信和打电话。)在易语言中,用数据报控件封装了UDP协议,用客户控件和服务器控件封装了TCP协议。
--------------------------------------------------------------------------------

 

Ⅰ- 数据报
------------------------

      数据报是一种不可靠、小数据量的网络数据交互方式。如果传递的数据量过大,有可能会失败,最好不要超过 127 字节。如需要大数据量或者可靠数据传送方式,请使用基于连接的其它网络组件(如客户、服务器)。
      虽然数据报控件传递的数据量小,又不够可靠,但它简单易用,在对数据量、可靠性没有特别要求的情况下,还是有它充分发挥作用的领域。最后我将用该控件做一个网络聊天程序(数据报版),作为例程。
      数据报的重要属性有:端口。
      数据报的重要方法有:发送数据()、取回数据()。
      数据报的重要事件有:数据到达。

一、数据报的重要属性

    ◆端口
            端口属性是一个整数型的值,默认值是19730。如果要改动,尽量取大于1024的较大值。
            端口是很重要的概念。首先需要明白的一点是,我们这里所说的端口,不是计算机硬件的I/O端口,而是软件概念上的端口。
            服务器可以向外提供多种服务,比如,一台服务器可以同时是WEB服务器,也可以是FTP服务器,同时,它也可以是邮件服务器。为什么一台服务器可以同时提供那么多的服务呢?其中一个很主要的方面,就是各种服务采用不同的“端口”来分别提供不同的服务,比如:HTTP(超文本传送)采用80端口,FTP(文件传输)采用21端口,Telnet(远程登陆)采用23端口,POP3(邮件接收)采用110端口,SMTP(简单邮件传送)采用25端口,DNS(域名解析服务)采用53端口等。这样,通过不同端口,计算机与外界进行互不干扰的通信。可以这样说:端口是计算机与外部通信的途径,没有它,计算机便又聋又哑。
            如果把计算机比成一个餐厅的话,那端口就是一个个卖饭的窗口。我们都知道餐厅里的窗口大都有详细的分工,要买馒头跑到卖鸡蛋汤的窗口前肯定是买不到的。如果要想和在餐厅工作的MM见见面,说说话,要通过哪个窗口呢?卖汤、卖菜、卖馍的窗口显然是不现实的。好在计算机这个“大”的餐厅有非常多的窗口,并且绝大多数都不常用,只要随便找一个(当然要避免卖汤、卖菜、卖馍的窗口)就可以和MM交流了。
            计算机中总共有256×256即65536个端口(编号从0到65535),其中前1024个端口都有确切的定义,它们对应着因特网上常见的一些服务。1024号以后的端口是为应用程序保留的,可以随意选用(易语言中限32767以下)。这也提醒我们,在为数据报控件(包括以后的客户、服务器控件)指定端口属性时,尽量取较大的数值,以免冲突。[注:其实端口也不是特别的重要,只要能保证发送数据一方和接收数据一方都知道对方的端口即可。这就象餐厅外的GG和餐厅内的MM见面,通过哪一个窗口见面并不重要,重要的是他们去了同一个窗口。]

 


--------------------------------------------------------------------------------

 

Ⅱ- 客户、服务器
--------------------------------------

      客户控件和服务器控件是一对好搭挡。它们总是成对使用,分处于两个独立的应用程序中,一个充当客户端,一个充当服务器端。客户端的应用程序总是向服务器提出服务请求,而服务器端的应用程则根据客户端的请求提供服务。可以说客户端是主动方,服务器端是被动方。(当然也可以在一个应用程序中既使用客户控件,又使用服务器控件,这样它即充当客户端又充当服务器端。)
      您可能听说过(甚至用过)国内著名的木马——冰河,它就是一个典型的客户服务器软件。该软件其实是两个程序(一个客户端,一个服务器端),通过各种途径让服务器端在欲监示的机器上运行后,就可以在客户端向服务器端程序发送指令,以达到操纵对方机器的目的。我最后将提供一个用易语言编写的简单的类似例程。
      千万不要把客户服务器软件跟黑客、木马直接联系起来,它还有很多“正道”上的用途。您在电视上见过某老总在办公室里操纵家里的电脑吗?他用的那个软件就是客户服务器软件,这能叫木马吗?他的行动是黑客行动吗?显然不是的。(他用的软件还说不定就是某个著名的木马,但这至少说明木马不一定完全是骇客们搞破坏的工具,也可以为民造福,关键看怎么用它——同样是刀,凶手可以用来杀人,橱师却可以用来做菜,刀本身并没有过错。)


一、客户的重要属性

      客户控件没有重要属性。

二、客户的重要方法

    ◆连接
            功能:连接到指定主机上的指定端口。
            语法:客户名称.连接(服务器地址,服务器端口号)
            参数:服务器地址——文本型,可以为主机名、IP地址;服务器端口号——整数型,即服务器控件的端口属性指定的值。
            应用实例:1、客户1.连接(110.0.0.1, 19730)    //与IP地址为110.0.0.1的主机中的服务器控件进行连接。该服务器控件的属性必须是19730,且它所在的程序正在运行,否则连接不可能成功。
            注意:同一时刻,一个客户控件只能连接一个服务器控件;一个服务器控件可以同时跟多个客户控件连接。

    ◆断开连接
            功能:断开与服务器的连接。
            语法:客户名称.断开连接()
            应用实例:1、客户1.断开连接()

    ◆发送数据
            功能:向已经建立连接的服务器控件发送数据。
            语法:客户名称.发送数据(数据)
            参数可以是各种类型的数据。
            应用实例:1、客户1.发送数据(0)    2、客户1.发送数据(编辑框1.内容)    3、客户1.发送数据(图片框1.图片)    //分别向服务器发送整数、文本、字节集数据。
            [注:必须先跟服务器控件正确建立连接之后,才能发送数据。这就像和朋友打电话,您要先播号,待朋友应答后再讲话——如果没播号,或那边朋友还未拿起话筒,您就开始讲话,不是白讲吗?]

    ◆取回数据
            功能:取回服务器发送来的数据。
            语法:客户名称.取回数据()
            本方法返回字节集型的数据。使用时有可能需要进行数据类型转换(用“从字节集转换()”函数),这跟数据报控件的“取回数据”方法是完全一致的。

三、客户的重要事件

    ◆数据到达
            当服务器端将数据发送过来后产生本事件。在本事件的处理子程序中调用“取回数据()”方法即可取回本次所收到的数据。

    ◆连接断开
         当连接被服务器端断开后会产生本事件。连接断开后,不能继续发达数据,除非重新建立连接。


--------------------------------------------------------------------------------


〓★〓 客户与服务器的交互:
          1、首先由客户控件建立与服务器控件的连接(通过调用“连接()”方法),这时服务器控件产生“客户进入”事件,并在该事件中获得客户的地址(通过调用“取回客户()”方法)。此后双方可以互相发送、接收数据。
          2、客户和服务器控件都可以在连接断开之前 的任何时间调用“发送数据()”方法向对方发送数据,此时对方产生“数据到达”事件。在“数据到达”事件中调用“取回数据()”方法即可取得对方发送来的数据。
          3、客户控件可调用“断开连接()”方法断开与服务器控件的连接,此时服务器控件产生“客户离开”事件;服务器控件可调用“断开客户()”方法断开与客户控件的连接,此时客户控件产生“连接断开”事件。

一、服务器的重要属性

    ◆端口
          整数型,指定监听数据到达的端口号,可以是大于 0 小于 32767 的任何自定数值。(应尽量取大于1024的较大值。)其含义与数据报控件的同名属性类似。

二、服务器的重要方法

    ◆取回客户
            功能:取回与服务器连接的客户地址。
            语法:服务器名称.取回客户()
            本方法返回一个文本型的值,其中记录了客户的地址(IP地址 + 端口)。当服务器控件向客户发送数据或断开客户时,都需要指定该地址。
            应用实例:1、客户地址=服务器1.取回客户    //取回客户的地址,并保存到文本型变量“客户地址”中。“客户地址”要事先定义为全局变量或程序集变量,以供其它子程序使用。
            [注:通常在服务器控件的“客户进入”或“客户离开”(特别是“客户进入”)事件的处理子程序中调用本方法。]

    ◆取回数据
            功能:取回客户发送来的数据。
            语法:服务器名称.取回数据()
            返回值为字节集型。

    ◆发送数据
            功能:向指定客户发送数据。
            语法:服务器名称.发送数据(接收客户,数据,[最长等待时间])
            参数:客户地址——文本型,必须是调用“取回客户”方法获得的客户地址。数据——可以是各种类型的数据。最长等待时间——指定等待发送成功的最长时间,单位为秒。如果省略本参数,默认为无限等待。
            应用实例:1、服务器1.发送数据(客户地址,123,)    //向发送整数型数据123。这里的“客户地址”就是前面调用“取回客户()”时的返回值。

    ◆断开客户
            功能:与指定客户断开连接。
            语法:服务器名称.断开客户(欲断开客户)
            参数必须是调用“取回客户()”方法所返回的客户地址文本。
            应用实例:1、服务器1.断开客户(客户地址)    //与“客户地址”所指定的客户断开连接。这里的“客户地址”就是前面调用“取回客户()”时的返回值。

三、服务器的重要事件

    ◆数据到达
            当服务器端将数据发送过来后产生本事件。在本事件的处理子程序中调用“取回数据()”方法即可取回本次所收到的数据。

    ◆客户进入
            当有新客户连接入本服务器控件后产生本事件。本事件的事件处理子程序的一个重要的任务就是:调用“取回客户()”方法获得新客户的地址,并保存到文本型的全局变量或程序集变量中,供以后使用(服务器控件的方法“发送数据()”“断开客户()”都需要指定客户的地址)。

    ◆客户离开
            当有已连接客户断开与本服务器组件的连接后,会产生本事件。在本事件的处理子程序中调用“取回客户”方法即可取回此客户的地址(IP地址 + 端口)。


 

      客户与服务器的关系

qq936 发表于 2012-1-29 18:58:54

4444444444444444444444222222222222222222223

q271684q 发表于 2012-2-9 11:52:33

图片框1.图片 =图片框1.图片 =图片框1.图片 =图片框1.图片 =图片框1.图片 =图片框1.图片 =图片框1.图片 =

bawdy 发表于 2012-3-1 17:18:06

看看~~~~~~~~~~

huiljk 发表于 2012-3-2 02:31:16

192.168.0.3IKLLLLLLLLLLLLLLLLLL

6317684117 发表于 2012-3-10 11:43:46

好东西!!顶了!!!!!

watchsky 发表于 2012-3-10 13:43:35

看看哈

a467898883 发表于 2012-3-11 19:15:40

看看撒

F0-0 发表于 2012-3-13 11:01:32

学习一下

qwert502 发表于 2012-3-19 14:58:47

精品~绝对的精品!谢谢

305566804 发表于 2012-3-22 16:04:24

305566804305566804305566804305566804305566804305566804
页: [1] 2
查看完整版本: 易语言差异屏幕传输,纯API版