不知道各位富翁想过网络通信可以封装的更好用更简单的方法没有, 有兴趣的进来聊聊!(300)

  • 主题发起人 主题发起人 kk2000
  • 开始时间 开始时间
K

kk2000

Unregistered / Unconfirmed
GUEST, unregistred user!
由于目前很多网络通信控件都要自己进行封包和解包, 处理粘包等等问题。给初学者或者使用者在很不了解socket 的时候, 带来很多问题。如果能够开发出把所有socket的需要处理的封包和解包, 处理粘包等等问题都封装起来。 让一些没有学习过socket 的开发人员能简单的使用起来的控件,那是一件多么美妙的事情。现在简单介绍一下我的想法: 传输String 就是这样: TransString(AString: string) 就可以了! 服务接收完成之后才触发接收完成事件: OnDataRecive(socket: TSocket, ReciveString: String);这样以来网络通信开发不是变得简单了吗! 也就是把很多复杂的网络通信的东西封装在控件里面。 使用者只需那样简单的调用就可以达到自己的目的。 当然还有很多东西要考虑。 传输XML也可以这样: TransXMLString(XMLString: String) 传输文件可以这样: TransFile(FileName: String)欢迎各位好汉发表你们的看法和可行性, 谢谢!
 
最近在关注这方面。希望可以尽快提高。感觉D的一些socket控件已经封装的很好了。
 
看应用,我一般都直接用socket,这样封装对我的应用没多少意义
 
同志哥,你说到IP层了吧,IP层怎么可能像你说的那样不粘包??嫌麻烦直接用TCP层吧.同时TCP层上就可以实现http,ftp,telnet所有功能
 
晕呼呼! 我的表达严重出现问题了!
 
哈哈,可以啊,关键是自己定义的标准谁来附和啊,呵呵!
 
TO wql 首先谢谢你认真看我的想法! 其实写起来我相信是可以做到。 我现在想听取更多的意见, 我现在正在进行者! 封装里面肯定有自己的一个标准或者叫通信协议吧。 哈哈
 
TO wql 关键是自己定义的标准谁来附和啊,呵呵!呵呵, 不用谁来附和, 既然是自己的服务, 就必须使用我的客户端。 我的本意是这样。要不然真的要人家来附和了!
 
楼的想法很好。就是wql说的。既然不用谁来附和。那Delphi现有的组件就有这样的功能了。楼主何必自己写?
 
to 草原骏马那Delphi现有的组件就有这样的功能了真的有这样的功能!是那套控件呢?
 
现在功能基本上完成了! 感觉还不错! 还有就是一些网络错误的没有写进去!
 
没经过压力测试肯定不堪一击
 
哈哈,这个很容易啊,转用.net就非常容易实现啊。WPF里面封装的MSMQ与Remoting技术已经实现的非常好,非常容易了。
 
.net Remoting,很傻很强大。使用者甚至不需要知道什么是Socket。
 
来自:白河愁, 时间:2009-8-1 12:36:08, ID:3970240没经过压力测试肯定不堪一击 白兄: 能介绍个工具测试测试吗? 或者你发个工具给我测试测试! 谢谢!
 
要处理就必须有个协议。如果收发两端都用你的库或者控件当然没问题。但是问题是 你怎么跟其它对你的协议一无所知的软件通讯?
 
TO:地质灾害 呵呵 :-) , 前面已经说了! 如果要跟别的软件通讯, 他就得按照我的协议。不过我的东西估计很难做到那么好。 有机会跟人家的通讯。TO: 来自:白河愁, 时间:2009-8-1 12:36:08, ID:3970240没经过压力测试肯定不堪一击 昨天我在网上下了一个,大用户量测试工具。在一台机器上同时开启服务和一千个客户端,每客户端向服务器每秒发送40字节,服务器像客户端返回60字节左右。 从晚上10点到第二天早上9点,一直正常,应该不会是不堪一击吧
 
构造一些非正常包再混进正常里的试试?同时发起1000个连接,再断掉500个,剩下的500个各发N个包过去看看.
 
你的想法不错,适合自定义的通讯协议,楼上说的那些ftp、http等等都是通用协议,可能他们没理解楼主的想法。我支持,你出吧。
 

Similar threads

D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部