|
|
导航: |
论坛 -> DELPHI技术
斑竹:liumazi,sephil |
|
作者: |
|
2018/9/18 16:07:16 |
标题: |
IdTCPServer向客户端发送数据报错 |
浏览:1030 |
|
加入我的收藏 |
楼主: |
代码如下: if TCPServer.Active then begin with TCPServer.Contexts.LockList do try for i := 0 to count - 1 do begin try Context := TIdContext(Items[i]);
Context.Connection.CheckForGracefulDisconnect(True); Context.Connection.IOHandler.Write(aMsg); except Context.Connection.Disconnect; end; end; finally Free; end; end;
----------------------------------------------
- |
作者: |
|
2018/9/18 16:08:21 |
1楼: |
运行后会莫名的报内存出错。
----------------------------------------------
-
|
作者: |
|
2018/9/18 17:07:51 |
2楼: |
温馨提示:提示错误标准答案:代码 debug 模式 f9 等待错误发生,点 break 查看 callstack。
----------------------------------------------
(C)(P)Flying Wang
|
作者: |
|
2018/9/18 19:52:57 |
3楼: |
你这个代码向客户端发送数据时确定客户端一定不会同时向服务端发送数据吗?也就是说,你有同步的代码吗?
----------------------------------------------
-广袤璀璨的银河,永无止境的梦想(梦无止境游银河) 博客挂了……
|
作者: |
|
2018/9/19 6:55:45 |
4楼: |
DATASNAP也是用INDY,服务端推送消息的时候,是双通道的——绝不堵车。
----------------------------------------------
中间件QQ群: 92449782 博客: http://www.cnblogs.com/hnxxcxg/
|
作者: |
|
2018/9/19 8:17:30 |
5楼: |
最后这个free把不应该free的东西给free了吧
----------------------------------------------
-
|
作者: |
|
2018/9/19 9:16:41 |
6楼: |
楼上正解,LockList 和 UnlockList 应配对使用,而不是 Free 掉。
----------------------------------------------
Delphi4Linux Delphi三层/FireDAC 技术群:734515869 http://www.cnblogs.com/rtcmw
|
作者: |
|
2018/9/19 10:45:08 |
7楼: |
谢谢各位大侠,我试试把free换为UnLockList
----------------------------------------------
-
|
作者: |
|
2018/9/19 10:55:22 |
8楼: |
还用试? 再说了,按我 2 楼说的去做,你早就能找到这个地方了。
----------------------------------------------
(C)(P)Flying Wang
|
作者: |
|
2018/9/20 19:55:08 |
9楼: |
的确是free有问题,多谢各位!
----------------------------------------------
-
|
|