我初学dephi,老总给难题,请各位指点!

liao2001 2001-09-21 09:11:00
有一服务器,平台是用linux的c编写的,多线程,我需要构建一平台,用dephi,
与之进行交互,可我刚学dephi,对那些控件都不了解,不知是否能良好交互,是否
线程安全,下月中要我写完,请高手指条明路!多谢!
附:请不要给源代码!!!多谢!!!
...全文
356 39 打赏 收藏 转发到动态 举报
写回复
用AI写文章
39 条回复
切换为时间正序
请发表友善的回复…
发表回复
SauMa 2001-09-26
  • 打赏
  • 举报
回复
GZ
liao2001 2001-09-26
  • 打赏
  • 举报
回复
对了,突然想到个问题,不知道有人懂吗?
书上说,TServerClientThread.ClientExecute会假造OnClientRead和OnClientWrite
事件,而这两个事件,我想该是有数据收到或发送时产生,那么假如它假造了一个OnClientRead
而又没有数据收到,那启不。。。?虽然这不太可能,因为我们该知道对方想做什么,要不也就没协议一说了,所以我说的是“假如“,所以问题也不用回答,见笑!
liao2001 2001-09-26
  • 打赏
  • 举报
回复
对了,突然想到个问题,不知道有人懂吗?
书上说,TServerClientThread.ClientExecute会假造OnClientRead和OnClientWrite
事件,而这两个事件,我想该是有数据收到或发送时产生,那么假如它假造了一个OnClientRead
而又没有数据收到,那启不。。。?虽然这不太可能,因为我们该知道对方想做什么,要不也就没协议一说了,所以我说的是“假如“,所以问题也不用回答,见笑!
liao2001 2001-09-26
  • 打赏
  • 举报
回复
to Tangyisichuan(驹) :虽然这几个问题我已经解决了,但还是要谢谢你!
你说的那本书我找到的话,一定会看看的。谢谢你!
jusan 2001-09-25
  • 打赏
  • 举报
回复
gz
liao2001 2001-09-25
  • 打赏
  • 举报
回复
首先向大家道歉,错把delphi写成dephi!
谢谢大家的回答!

在大家的帮助下,看了几天的书,有几个问题向讨教:
1、RServer(对方服务器)作为客户,LServer(本地服务器)使用Delphi5的ServerSocket控件,ServerType为stThreadBlocking,在ServerSocket.OnGetThread产生时生成我的线程,那么ServerSocket.OnClientRead是否对应我的线程,也就是问这个事件是否是由我的线程对应的TServerClientWinSocket对象所触发的?
2、如果前一问题的结论是‘Y’的话,那么我用TwinSocketStream读取数据给我的线程处理,处理后我要发回结果,此时,我能否用TwinSocketStream.write来发数据?还是触发ServerSocket.OnClientWrite事件来处理?怎么触发?
3.数据的接收除了通过ServerSocket.OnClientRead来实现,还有其他方法吗?比如,放到线程中去,能实现吗?可实现的话,思路如何?

Tangyisichuan 2001-09-25
  • 打赏
  • 举报
回复
第一个问题:“yes”;
第二个问题:我想可以用TWinSocketStream.Write(或者是:TWinSocketStream.Send)来触发;
第三个问题:你现在本就是采用的线程模式,数据的接收通过ServerSocket.OnClientRead来实现,我想就不必在放到其他线程中了。(当然,也许有其他方法,我也不清楚);

顺便说一下,我记得有本《网络编程之Delphi篇》,清华大学出版社,萧秋水著对这说的较为详细,可以参考参考!

祝你好运!
liao2001 2001-09-25
  • 打赏
  • 举报
回复
等待。。。。。。
DD88 2001-09-25
  • 打赏
  • 举报
回复
我也想了解
liao2001 2001-09-25
  • 打赏
  • 举报
回复
请大家不啬赐教!!!感激不尽!!!
liao2001 2001-09-25
  • 打赏
  • 举报
回复
快来人吧!
marsq 2001-09-24
  • 打赏
  • 举报
回复
1.如果你是要在linux下开发,肯定是要升级到delphi6.0的
2.如果是在局域网中的开发,那么delphi的socket的速度是可以满足的,也比较简单,有现成控件
3.多线程无法用控件实现,需要编程实现

唯一的建议
k2 2001-09-24
  • 打赏
  • 举报
回复
听课。
hahahoo 2001-09-22
  • 打赏
  • 举报
回复
D5下也可以使用Indy控件,找一下应该有免费的
xzm2000 2001-09-22
  • 打赏
  • 举报
回复
老兄,就算你是初学delphi,也没有必要把delphi写成dephi吧,你看看你写了多少个dephi了(8个)
xiaoxiaoli 2001-09-22
  • 打赏
  • 举报
回复
用DELPHI中的CLIENTSOCKET空间就可以建立TCP/IP连接了.
其实很简单的,只要会用这个控件就行了.你时应答方开个缓冲区就行了.
wilddragon 2001-09-21
  • 打赏
  • 举报
回复
支持支持
errorcode 2001-09-21
  • 打赏
  • 举报
回复
在DELPHI5中SOCKET是现成安全级的,你可以使用TCP/IP与C程序进行交互,这是效率最高的。
另外见点一点,你也可以使用数据库、做数据传输,用DELPHI向数据库中写数据,C程序从数据库中读取,或反过来。
此外还可以使用LINUX的FTP,通过文件进行交互数据,这种方法最容易实现,但效率会第一点。

liao2001 2001-09-21
  • 打赏
  • 举报
回复
我要睡觉了,希望明天大家给我更多指点!谢谢!
liao2001 2001-09-21
  • 打赏
  • 举报
回复
难道真的没有好办法?还是。。。?
加载更多回复(19)

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧