求思路。多线程和Socket通信问题!!在线等(30分)

  • 主题发起人 主题发起人 panchenglin
  • 开始时间 开始时间
P

panchenglin

Unregistered / Unconfirmed
GUEST, unregistred user!
如何实现下面通信过程:
1、发起方在包头填入发起方机构码、接收方机构码、交易类型、待发送数据包字节长度、密钥(可选)及所有不同的交易类型所需域,其它不需要的域填入缺省值,发送包头;
2、接收方接收包头,加解密校验(可选),在包头填入返回码,发送响应包头;
3、发起方接收响应包头或响应码(已发送数据包),检查返回码,如果无误就开始发送数据;每次按规定数据包字节长度发送;
4、接收方检查数据包字节长度,如果无误就发送数据包响应码(接收数据包次数,从1开始累加);
5、发起方接收检查数据包响应码;
6、如果数据包字节长度大于规定数据包字节长度,循环3、4、5操作步骤;
7、发起方发送数据包结束码表示数据发送结束,结束本次任务;
8、接收方接收数据包结束码,结束本次任务。

从通信过程来看是异步通信,有双方握手的过程,这个在多线程如何实现???请大虾指教
 
如果大虾觉得分少,可以要求再加。
 
多线程可以做,就用一个主线程,也可以做。要看你系统的要求了。
你可以学习一下WIN SOCKET的I/O模型。
 
IdTCP控件自带多线程的,一个EXECUTE事件对应一个线程。
 
后退
顶部