vb中用winsock编写的服务端同时接受几百个客户端发送的数据会丢失文件吗??

用winsock控件中的udp协议编写的服务端程序,能不能同时接受200~300左右的客户端同时发送来的数据??
会不会丢包?
还有如果是能同时接受的话,服务端是一个一个的处理客户端请求还是同时处理啊??
说明下,客户端所发送的程序并不是很大,最大也就是10k左右(其实正常情况下只有3~5k左右,和qq一样,差不多都是文本的)
希望有知道的好心人给解释下。
我根本不懂udp这东东。
看了看msdn的帮助更晕乎了啊-_-
真心期待答复
不要粘贴的,最好是代码,呵呵^-^
谢谢提示,我的卡吧也报毒了。
先谢谢三楼的详细答复,基本上我想采用你的回答作为最佳答案了。
但是我还是有一点小小的问题。
麻烦您帮忙给解释下,呵呵^_^
其实我仔细看了下代码,发现同时给服务端发送过来的数据如果是按正常情况的话。
同时发来数据的客户端最多有40~60 个左右,数据大小5~6k(有时候是图片文件,每个2~3k),那么这样的话数据会丢失吗?我估计文本的话,应当不会丢失,我所关心的是如果图片的话,会不会丢失呢?
图片的发送方式如下
Dim s1() As Byte '存放数据的数组
Open App.Path + "\nn.bmp" For Binary As #1
DoEvents
ReDim s1(1 To LOF(1)) '根据文件长度重新定义数组大小
Get #1, , s1()
Close #1
Winsock1.SendData s1()
如果是这样的话,会丢失吗?

是不是用tcp的话能够保证全部文件不丢失?
呵呵,请帮忙解释下,那么分 一定给!

'*****************************************************

'编写作者:刘俊宾

'作者主页:http://hystudio.ik8.com

'QQ:171162612

'编写日期:2007年6月1日

'谢谢使用,请勿修改

'问:用winsock控件中的udp协议编写的服务端程序,能不能同时接受200~300左右的客户端同时发送来的数据??
'答:一般不会,但有丢的可能!UDP是一种无连接协议,不保证数据传输安全.

'问:还有如果是能同时接受的话,服务端是一个一个的处理客户端请求还是同时处理啊??
'答:"Winsock1_DataArrival"用这个事件来处理就行了.它是在接受到数据时触发.

'问:说明下,客户端所发送的程序并不是很大,最大也就是10k左右(其实正常情况下只有3~5k左右,和qq一样,差不多都是文本的)
'答:注意!VB的WinSock一次发送数据不得大于8K,否则丢失多余数据!你可以将数据分开发送.

'问:我根本不懂udp这东东?
'答:UDP(User Datagram Protocol)用户数据报协议,用户数据报协议(UDP)是 ISO 参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务.

Option Explicit '强制性变量声明

Private Sub Command1_Click()
Winsock2.RemotePort = 3839 '设置对方(接收)端口
Winsock2.RemoteHost = "127.0.0.1" '对方IP(这里127.0.0.1为本机的意思)
Winsock2.SendData "text" & Text1.Text '发送数据("text"+text1.text内容.注意:"text"是用来区分数据类型用的,就是接收到之后告诉计算机该如何处理)
End Sub

Private Sub Form_Load()
Winsock1.Protocol = sckUDPProtocol '即楼主说的UDP协议
Winsock2.Protocol = sckUDPProtocol '即楼主说的UDP协议
Winsock1.LocalPort = 3839 '设置本地端口为3839
Winsock1.Bind 3839 '注意:这里是重点!!!!!!很多人在做UDP数据传输时会忘了这句,所以才会做不成功.(这里是绑定3839端口的意思)
End Sub

Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim gg As String '定义变量
Winsock1.GetData gg, vbString '取得数据
If Left(gg, 4) = "text" Then '取得前四个字符,如果为"text"则,从而不执行其它数据操作
Text2.Text = Mid(gg, 5) '显示,测试用
End If
End Sub
温馨提示:答案为网友推荐,仅供参考
第1个回答  2007-05-30
!!!!!不要点击楼上的网址连接
我的瑞星提示有病毒.......
第2个回答  2007-05-30
不会
http://ying6.veryarticle.com/index.html
所有问题在这里可以得到解决
相似回答