我想学用Delphi进行Winsocket方面的编程!!!

honestman 2000-08-12 04:45:00
太简单的应用没意思,学不到东西。问一个不是很简单的问题。
我想弄一个类似网页上自动填表的程序。不想用TWebBrowser控
件。为了学Winsocket,我想设计一个用Winsocket控件实现的
自动填表的程序。根据返回的不同“网页”的内容,向服务器
提交不同的数据。这个程序应该怎样编???需要看什么资料?
...全文
586 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
honestman 2000-12-22
  • 打赏
  • 举报
回复
我觉得Delphi对Socket的封装是很好的。只是我的水平太菜了。
samlei 2000-12-22
  • 打赏
  • 举报
回复
其实阻塞编程也不麻烦,特别是可以参考Delphi中ServerSocket控件的源代码,
写得很经典!
alwssoan 2000-12-22
  • 打赏
  • 举报
回复
DELPHI里的TserverSocket与TClientSocket对Socket进行了很好的封装,
大可不必费尽心机去学Socket,如果真想的话,去找清华出的一本书吧
<Windows Socket编程>不过是用VC描述的,有提了一下DELPHI的Socket编程
BCB 2000-12-21
  • 打赏
  • 举报
回复
TserverSocket与tclientSocket 的多线程
阻塞通讯编程好象真繁,我看了一个例子,
好怕怕噢 !!
难道异步编程比不上同步?!

dutsf 2000-12-21
  • 打赏
  • 举报
回复
看看rfc中关于http协议吧!
honestman 2000-12-20
  • 打赏
  • 举报
回复
linkie:
  我想知道你所指的“#1就是表示数据流的结束符号”是指什么?
(1)我自己发的(假设大小为80K Bytes)的最后一个一定要是#1?
(2)一般的服务器默认的最后接收和发送的字符是#1?
suzg 2000-12-13
  • 打赏
  • 举报
回复
还有HTTP协议,你可以到www.rfc-editor.org上去找,
用socket作http,了解协议是必须的。

好像清华的ftp上也有rfc协议的文件,ftp.tsinghua.edu.cn
WorldCreater 2000-12-12
  • 打赏
  • 举报
回复
到我提的问题处看看如何
也许对你有些帮助
http://www.csdn.net/expert/TopicView.asp?id=45217
GoodHope 2000-12-12
  • 打赏
  • 举报
回复
利用WinSock通讯是很简单的东西。烦的就在与理解在WinSock中传送的各种协议。难的就是要控制成千上万个WinSock却不能出一点点错。 微软出的“Windows网络编程技术”不错。CSDN好像就有电子版下载。
honestman 2000-12-12
  • 打赏
  • 举报
回复
大虾们,继续吧!!!
linkie 2000-08-20
  • 打赏
  • 举报
回复
要解决WinSock编程的数据收发问题,首先要知道Socket的重要的特性。Socket收发的数据包的最大容量是8K Bytes,一旦你要收发的数据流超过了8K Bytes,那么Socket将自动将数据分包收发。为了实现数据的完整和正确收发,就必须预先设置数据流的结束标志,每次收取数据时,先要判断数据包的结尾字符是否是你定义的结束符,如果不是就要继续接收数据。
有关WinSock收发数据的格式问题,也要先知道基本的数据格式是有两种的:一、二进制数据格式;二、就是字符串数据格式。最简单、最易懂的数据格式就是字符串的数据格式了。那么要涉及具体的数据通讯协定,实际上应该由自己在程序中自行设计的。按照自己的数据格式收发数据,将接收到的数据,进行分析,依次给你的数据表单元赋值。举个最简单例子吧。
Const Str1,Str2:string;
SomeClientSocket.Socket.SendText(Str1+#13#10+Str2+#13#10+...+#1);
其中的#1就是表示数据流的结束符号的。
netsong 2000-08-20
  • 打赏
  • 举报
回复
可以用TServerSocket, TClientSocket控件, 客户端搭好框架, 服务端计算, 将结果返回客户端, 配合以图表显示. 这是tcp/ip通信.
如果要想了解更多的winsocket的东西, 建议看一下vc++的处理方法, 他会让你对socket通信又一个深入的了解, 毕竟delphi对底层的封装太多了
fantsy 2000-08-20
  • 打赏
  • 举报
回复
关注
honestman 2000-08-14
  • 打赏
  • 举报
回复
Larky和Firing_Sky你们的答案差不多啦!
问题是最重要的格式问题还没解决!!!
Firing_Sky 2000-08-13
  • 打赏
  • 举报
回复
我觉得,这个提交程序无非就是把数据按照某种格式(HTTP格式)打成包扔过去,和一般的那些Socket包传送没么什么区别吗
华南虎哥 2000-08-13
  • 打赏
  • 举报
回复
使用ICS控件来替代DELPHI本身的网络控件可能对你比较有帮助,而且实例丰富
码狂 2000-08-13
  • 打赏
  • 举报
回复
你不如做个Web Server!
Larky 2000-08-12
  • 打赏
  • 举报
回复
我曾经作过一个在新浪上投票的程序,使我的选中的项目可以快速增长,
就是用的socket编程
如果你想要编一个非特定的提交程序,那你首先要了解http协议本身,然后还要能够对每个单独的输入框的名字进行判断,构造一个http的提交数据,然后发出去就行了.
但是发什么内容是合法的我不知道你怎么判断!

我想要得到ie发的数据的格式你可以看一看微软站点上的inetsdk里的帮助
PoolD 2000-08-12
  • 打赏
  • 举报
回复
用TServerSocker和TClientSocket控件
可以看这个例子,
Borland\Delphi5\Demos\Internet\Chat
虽然类型不同,但是都是通过Socket发送/接收信息。
另外,如果需要做在网页上的话,还要学习关于ActiveX方面的知识。

5,379

社区成员

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

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