相关疑难解决方法(0)

哪本书可以学习套接字编程和TCP网络通信?

在接下来的几个月里,我会做一些小项目,需要一些书籍(最好)或URL来学习一些基本概念.

通常,一台PC或嵌入式设备(根据项目而变化)从外部硬件设备收集一些用户输入或数据,并将其发送到远程PC,远程PC将其输入数据库.

后端将使用Indy套接字组件在Delphi中编码.前端可能是使用相同的Indy套接字运行Delphi应用程序的PC,但它可能同样是一个小型控制器板,可能用C编程(既不是Windows也不是Linux作为o/s,但有一些不可预见的套接字支持).

所以,我需要的是

  1. 一些东西 - 可能是语言不可知 - 让我快速掌握套接字编程
  2. 我可以使用流和写/读来定义我自己的协议(通过TCP/IP)的构造,这将非常简单
  3. 一般网络(TCP?)概念的一些概述; 也许有点安全性,一般客户端/服务器的东西(例如,我可以从客户端发送一些到服务器并发送回复,但我不太确定服务器发起的通信到单个服务器或广播到所有客户端)
  4. 还要别的吗?

任何让我加快速度的建议,至少足以让我能够在工作中学习的小项目.

提前致谢

sockets network-programming tcp scada

31
推荐指数
2
解决办法
3万
查看次数

寻找进程间通信中使用的Windows消息的替代方法

我有一个多线程应用程序(MIDAS),它使用windows消息与自己进行通信.

主表格

主窗体接收RDM LogData发送的Windows消息('DataToLog')

由于使用了Windows消息,因此它们具有以下属性

  1. 收到的消息是不可分割的
  2. 收到的邮件按照发送顺序排队

题:

你能否在不使用Windows消息的情况下建议更好的方法?

主要代码

const
    UM_LOGDATA      = WM_USER+1002;

type

  TLogData = Record
      Msg        : TMsgNum;
      Src        : Integer;
      Data       : String;
  end;
  PLogData = ^TLogData;


  TfrmMain = class(TForm)
  //  
  private
    procedure LogData(var Message: TMessage);        message UM_LOGDATA;
  public
  //        
  end;


procedure TfrmMain.LogData(var Message: TMessage);
var LData : PLogData;
begin
    LData  :=  PLogData(Message.LParam);
    SaveData(LData.Msg,LData.Src,LData.Data);
    Dispose(LData);
end;
Run Code Online (Sandbox Code Playgroud)

RDM代码

procedure TPostBoxRdm.LogData(DataToLog : String);
var
  WMsg  : TMessage;
  LData : PLogData;
  Msg   : TMsgNum;
begin
  Msg := MSG_POSTBOX_RDM;
  WMsg.LParamLo …
Run Code Online (Sandbox Code Playgroud)

delphi winapi window-messages windows-vista

10
推荐指数
1
解决办法
6682
查看次数

Delphi网络入门

我在Delphi 6工作了几年.
现在我开始使用Delphi网络,我需要一些源代码用于以下事项:
我想要使​​用两个对等客户端的make chat应用程序
但是我不知道如何测量两个客户端的时间并在两个屏幕上显示它.
我也想用1标记第一个客户端,用2 ,,,,,,
在某些应用程序中我希望有两个客户端发送的会计编号的值
一般它是否存在两个客户相互的变量?!
有人可以发给我这种源代码吗?!
欢迎使用源代码中的注释.

delphi

4
推荐指数
1
解决办法
771
查看次数