导航

心动吧DELPHI网络书

自发研究:须要多维思想而且要想不可能为可能的人才能做到

[置顶] {下载}本站提供delphi下载

  下载的时候最好不要用迅雷,要不然很容易断线.

  提供多个控件下载:

利用ServerSocket和ClientSocket实现简单通讯

开始这前,在你的窗口中放入ServerSocket和ClientSocket控件。



ServerSocket的控件属性

threadcachsize:创建服务器线程的最大数目。

port:确定服务器的监视端口。

service:客户通过此属性来识别服务器端口。

ClientSocket的控件属性

Socket:此属性参数是应用程序之间通信的端点。

Address:此属性参数为字符串类型,客户端确定服务器端的IP地址。 Host:服务器端的主机名称。

Post:服务器端的监视端口。

Servce:用来识别服务器端口。

Active:确定Socket是否可用(true表示可用)。

ClientType:指定客户机采用哪一种方式(异步/同步)来通信。

ServerSocket的事件

 

为什么我的在线程里面创建ClientSocket1后无法激活事件呢

 当我们实在需要用到线程创建线程的时候,就必需先把第一个线程设置为等待,等待第二个VCL线程处理完毕后才能继续执行下去,否则会出现只执行一半就不执行的后果..

因为如果你不添加这个的话,Execute执行完之后,线程就不存在了,而你的clientSocket1是在线程当中创建并依赖线程执行而执行的。



使用这个能够实现阻塞模式。使用上面5楼的方式可以实现异步消息模式(差不多跟添加到Form当中相似了,只是执行的线程不同,所以在各事件当中最好不要操作VCL,如果需要操作,请使用相关的安全同步函数)。

阻塞方式下的Socket应用

使用sockets Socket控件让你建立一个利用TCP/IP和有关的协议与其他系统进行通信的应用。使用Sockets,你能够读和写通过它连接的其他机器,而不用担心实际的网络软件的相关细节。Sockets提供基于TCP/IP协议的连接。除此以外还能很好的工作,在其他相关的协议,例如Xerox Network System (XNS), Digital's DEC net, or Novell's IPX/SPX 家族。

C++ Builder提供你写网络服务器或客户应用程序去读和写其他的系统。一个服务或客户程序通常专注于一个单一的服务如超文本传送协议(HTTP)或文件传输协议(FTP)。使用server sockets,一个应用程序可以提供这些服务中的一个去连接一个希望使用服务的客户程序。Client sockets允许一个应用使用这些服务中的一个去连接提供这个服务的服务应用。

使用sockets去写应用程序,你必须理解下面这些知识:

一、服务工具

Delphi中远程控制的实现

实行远程控制,实际上就是一个服务器程序(以下简称被控程序)和一个客户程序(以下简称主控程序):被控方即为服务器程序,它监听客户的请求,并作出相应的处理;主控方即为客户程序,它连接上服务器后,发出自己的请求,服务器便根据自已的请求进行不同的响应。而WinSock是一组API,用于在网络上传输数据和交换信息。通过WinSock编程有更大的灵活性,因为它不需要关心网络连接的细节,然而用WinSock编程却很复杂。但是,在Delphi中我们并不需要直接与WinSock的API打交道,因为TClientSocket元件和TServerSocket元件(在Internet页)封装了WinSock的大部分API,使得对WinSock的访问大大简化。下面这个简单的远程控制的例子就很清楚地说明了这个问题,它可以发送一个消息给对方,对方收到后发出信息确认。当然,在实际的编程中,我们可以根据需要,要求被控方可以根据主控方发来的信息,经过判断后作出相应的动作。如关机、传送文件…

一、主控程序(Client端):



ClientSocket1的Port设为:2058。当然,可以改变,但要求主控程序和被控程序的Port值一致。界面如下:



 

在Delphi中读取局域网内另一台计算机的屏幕

通过电话“遥控”指导别人操作是一件多么心烦的事,而且我又是一个懒人,不想天天为一点小事从楼顶跑到楼下,怎么办呢?编一个读取另一台计算机屏幕的程序怎么样?不就直观多了。在局域网内进行通信,最好的选择当然是用Winsock,编写过Winsock应用程序的程序员都知道,编写Winsock应用程序绝不是一件轻而易举的事,您不得直接与复杂的Winsock中的Api打交道,幸运的是,Delphi4中的Tclientsocket 和Tserversocket封装了Windows中有关的Api,大为简化了对Winsock的访问,使得我们能够非常轻易的编写Winsock应用程序。尽管如此,最好还是对Winsock有一些了解,在这里我就不再赘述,您可以找些书自己看看。

通过网络传输数据,您至少需要一对Socket,其中一个在客户端,另一个在服务端,一旦客户端与服务端的socket建立起连接,就可以相互通信了,用Socket建立连接是建立在Tcp/ip基础上的,同时也支持ipx/spx等相关协议。在Delphi中 分别用Tclientsocket 和Tserversocket来操纵客户端与服务端Socket的连接和

TServerSocket和TClientSocket的使用

在网络编程中,WinSocket API编程是最基本,也是最麻烦的地方(说句不怕影响形象的话,我对此就是一知半解)。但是,如果你是使用C++Builder作为编程平台,你就偷着乐吧,有了BCB,菜鸟变高手!:-)

在BCB中,TServerSocket和TClientSocket涵盖了基本的WinSocket编程,其中TServerSocket作为服务器方使用,TClientSocket作为客户端使用,这两个组件本身并不提供Socket连接,但是他们都有一个Socket属性,这个属性才提供了Socket连接。下面就先向大家介绍一下这两个组件常用的方法属性,然后在通过一个例子来看看这两个组件的使用。

...

分页:[«]1[»]

日历

<< 2013-5 >>

Sun

Mon

Tue

Wed

Thu

Fri

Sat

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

站内搜索

Copyright ⊙ 2004-2009 心动吧 UrL:ABCXD.CoM All RiGhts Reserved