TServerSocket与TClientSocket通讯两个问题?
采用 stNonBlocking 服务类型
1.TServerSocket 与 TClientSocket 通讯步骤:
a.与服务器建立连接=>ServerSocketClientConnect事件触发;
b.客户端端建立连接=>ClientSocketConnect事件触发;
c.客户端端断开连接=>ClientSocketDisconnect事件触发;
d.与服务器断开连接=>ServerSocketClientDisconnect事件触发;
-------------------
我跟踪检查,同一程序不同时候运行有两种运行步骤:⑴abcd⑵dbad
这四个运行步骤可以改变吗?
===========================
2. TServerSocket与TClientSoket传输数据出现问题:
ClientSocket1Connect事件响应 Socket->SendBuf(void* a_pBuffer,int a_i);
ServerSocket1ClientRead事件响应 Socket->ReceiveBuf(void* b_pBuffer,int b_i);
----
跟踪发现:a_pBuffer == b_pBuffer, 但是 a_i != b_i;
----
ServerSocket1ClientRead事件响应 Socket->SendBuf(void* c_pBuffer,int c_i);
ClientSocket1Read事件响应 Socket->SendBuf(void* d_pBuffer,int d_i);
----
其中 (a,b,c,d)_i <2048;
跟踪发现:c_pBuffer != d_pBuffer, 但是 c_i != d_i;
c_pBuffer != NULL d_pBuffer == NULL ;
------