有何不同?(20分)

  • 主题发起人 主题发起人 chenke
  • 开始时间 开始时间
C

chenke

Unregistered / Unconfirmed
GUEST, unregistred user!
创建5个带Server的窗体和创建5个Thread窗体有何不同?
 
没有太大的区别
因为serversocket本身就是多线程的。
多线程窗体和单线程窗体最大的不同就是一个处在不同的线程中, 另一个共用一个线程
这样在这个线程的消息响应上有区别,一个是并列处理, 另一个处理完一个窗体的消息
才能处理第二个窗体的消息。这样如果某个窗体中的消息处理代码很长的话,同线程中其它窗体在它完成前没法就接收消息了
 
看你的资源和用户数而决定!
 
那如果5个Client同时向5个Server发5M数据,那其他4个Server只能等正在接收的
Server收完了再接收,那会不会有异步错误呢?
 
你可以分五块同时发,使用线程不就可以了?
 
不会不会
如果用通讯协议的话这个不是你考虑的问题拉。协议中肯定已经包含解决方案了。
(话说回来了,不用通讯协议怎么发?不见得自己定义网络7层结构?那不是在做应用
程序了,那是在开发操作系统)
比如用TCP/IP,又不是5M数据同时发,是分成一个一个IP包(IP包最大能有几K呀?),
用户接收到的是一个一个包而已,连续接收到的包可能是不属于同一个程序的。
数据包的拼接是属于网络联结层的事吧?
 
我的意思是:先把数据分块,然后发,然后合并
 
I want to ask Another_eYes a question,Winsock is asynchronize socket implement, so vc socket function is async.
Delphi implement multi threaded server? MT method is not the default method for winsock, and MT will consume much more system resource, I have not studied TServerSocket much, But I think you must be wrong.
 
接受答案了.
 
后退
顶部