我目前正在看《WINDOWS网络编程技术》这本书,里面对SOCKET编程讲得很详细,可以互相交流
解决方案 »
- 求一个简单的控件开发例子,我这代码问题在哪?
- delphi绘图
- 用paintbox绘曲线的困惑
- adoquery查询结果为0时出错???
- 100分:在中文Windows下用Delphi开发的含中文界面的程序,在英文Windows下用Delphi打开出现乱码,如何解决?
- 如何做个像QQ那样的一个可以拉的东东?
- 请教,在delphi中调用word,当你关闭了word之后,word会提示你要不要保存修改了的文档,怎么判断用户是点了保存还是不保存?
- 在SQL Server2000中如何从一个数据表中取出其各个字段的名称?
- 求关于目录监控的控件
- DELPHI 输入判定问题
- 如何在桌面上建立快捷方式
- 为什么有如此的错误
读网卡信息的我有一个例子程序,如果有需要我可以帖出来,不过是C的代码。
但是,据我所知, 还是有些欠缺的;
比如TClientSocket存在的一个逻辑错误(分析源码后得出):
当连接没有激活的时候,调用Active := True;
则Socket开始工作,尝试连接远程主机,此时,若远程主机不可用,但是超时时间没有到
(具体的超时事件好像和Windows有关,TClientSocket并没有提供),则此时,若要取消
连接,TClientSocket拒绝你这么做!因为你调用的 Active := False; 的时候,
由于此时连接没有建立,正处在Lookup的状态,此时,内部标志 FActive 为 False;
和你设置的值 False 相同,所以 TClientSocket 不处理!
而若此时,你换了个Host的地址,想要重新连接,但是它内部(基类)又有个标志指示当前已经在Lookup,所以,让你Close不掉,而且又不能再次Open!
我是买的,随书还附带了光盘。to Musicwind(风里来雨里去):
TServerSocket和TClientSocket封装得很好,使用简单,对一般的应用是足够了。如果要实现更低层的功能,只有自己写。
可以根据你的需求组织你的程序,
实际上就是工具而已,
开发底层还是要用到一些底层的东西,