有人试过么?尝试一下会报socket 10053错误
现在是需要将C/S结构的程序改成B/S,不做成Web Server有更好的办法么?

解决方案 »

  1.   

    首先理解什么是B/S。
    B/S当中也允许ActiveForm使用Socket,自然也可以向外发起连接,至于服务端,你用CGI还是自己的Socket没有太大的关系。
      

  2.   

    其实也不算改成B/S的项目。本来C/S上,服务端能采集到一些数据,而客户端将数据解析好,现在是要将原来客户端数据展现在浏览器上,或者做成一些接口供其它人使用,不知道有什么好的办法?
      

  3.   

    BDE or ADO??
    随便问问,我其实根本不在行这方面的东西
      

  4.   

    如果要做的话应该要用到Delphi.NET for .NET的东西吧……
      

  5.   

    大哥,不是连接数据库好不好。技术贴都变聊天贴了。
    socket 10053的问题已经解决,但是我这个CGI用TPC连接服务端的时候,连接的时候能响应OnConnect事件,但是往那头发生数据却收不到。而我用另外一个客户端程序来连,服务端是能收到的。
      

  6.   

    如果仅仅只是为数据的浏览,那建议使用Web Service.
      

  7.   

    当然,也可能是楼主写错了,本来指的就是Web Service Application。Web Service就是为提供一个通用接口而设立的。WebService走的是标准的HTTP协议。至于数据不能收到,这个得看是如何处理的。比如是否走的HTTP协议。
      

  8.   

    我用的不是Web Service,是Web Server Application。
    WebService的Soap Server Application可以做到吗?如果可以请给个简单的例子。我昨天一直在看李维的Delphi 6/Kylix2 SOAP/Web Service,感觉不行啊。
    我想我这种情况有点像将迅雷5做成Web迅雷这样,要用到什么技术。
      

  9.   

    象你这种应用更适合于使用WebService,对于WebService,客户可以全部采用脚本完成。建议先对WebService有一个进一步的了解。特别是现在提出的SOA的概念。至于那个delphi书完全只是教你如何使用Delphi来实现。
      

  10.   

    可以给个delphi的例子吗?谢谢。解决可以再加500分
      

  11.   

    估计WebService还是不能做到,因为数据需要实时显示,而不能做成接口之后,不能在客户端调用的时候定时地刷页面
      

  12.   

    1、服务器编写一个tcp server,客户端使用ocx
    2、使用http协议主动去取信息
    3、使用javascript实现server push
      

  13.   

    做OCX已经被否掉了,理由是浏览器需要下载很麻烦-_-!
    现在是用CGI和Socket通讯的办法,但是就是很奇怪,连接上之后发出数据之后,Tcp Server收不到。
    用的是ClientSocket,不知道怎么回事,现在直接用API来试试
      

  14.   

    已经被同事做出来,其实很简单,需要的是用阻塞方式,可惜CSDN上没人会啊
    散分了,来者又分~~
    procedure TWebModule1.WebModule1WebActionItem1Action(Sender: TObject;
      Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
    var
        rec: Boolean;
        s: string;
    begin
      rec := False;
      ClientSocket1.Socket.SendText('abcd');
      while not rec do
      begin
        if ClientSocket1.Socket.ReceiveLength = 0 then sleep(100)
        else
          rec := True;
      end;
      s := ClientSocket1.Socket.ReceiveText;
      Response.Content:=s;
    end;
    procedure TWebModule1.WebModuleCreate(Sender: TObject);
    begin
       ClientSocket1.Address := '127.0.0.1';
       ClientSocket1.Port := 1234;
       ClientSocket1.ClientType := ctBlocking;
       ClientSocket1.Open;
    end;