لدي سؤال عن كيفية تجميع حزم الملف صوتي في الجهاز الخادم ؟
لقد قمت بإرسال ملف صوتي wav باستخدم الوينسوك في لغة الفجول بيسك و قمت بارساله على هيئة Packet حيث إنني نجحت في إرسال الملف الصوتي بين Client و Server على هيئة Packet حيث أنني تأكدت من صحة الأرسال و ذلك بعد أن قمت بعرض ما يستقبلة Server من بيانات صوتية على Message Box فظهر لدي عند التنفيذ أكثر من بيانات غير مفهومه( رموز و أحرف و أرقام ) على عدة Message Box و ذلك لأنه مقسم على هيئة .Packet
حيث أن هذا ماستطعت عملة و لكن المطلوب مني هو ليس عرض ما استقبله Server من ملف صوتي على Message Box و إنما إعادة ما استقبلة Server من Packet إلى ملف صوتي كما هو لدى Client و التمكن من فتحه و الإستماع لما يحويه بشكل صحيح.
فأرجو من كل لديه الخبره في حل هذه المشكلة أن لا يتردد في مساعدتي.
شاكرا لإدارة المنتدى و أعضاءة و كل من يساعدني جهودهم
مرفق الكود و رسائل التنفيذ التي تظهر لدي:
برنامج العميل Client
Private Sub Connection127.0.0.1"
winsock.RemotePort = 10000
winsock.Connect
End Sub
Private Sub Send_Click()
Dim s As String
Dim f As Integer
Dim p As Long
Const size = 6
f = FreeFile
Open "f:\code\vb\sound.wav" For Binary As f
For i = 1 To LOF(f) \ size
s = Space(size)
Get #f, , s
winsock.SendData "NewPart" & s
DoEvents
Next
If (LOF(f) Mod size) > 0 Then
s = Space(LOF(f) Mod size)
Get #f, , s
winsock.SendData "NewPart" & ss
DoEvents
End If
winsock.SendData "EndFile"
DoEvents
Close f
End Sub
برنامج الخادم Server
Private Sub Form_Load()
winsock.LocalPort = 10000
winsock.Listen
End Sub
Private Sub winsock _ConnectionRequest(ByVal requestID As Long)
winsock.Close
winsock.Accept requestID
MsgBox requestID
End Sub
Private Sub winsock _DataArrival(ByVal bytesTotal As Long)
Dim sound As String
winsock.GetData sound
MsgBox sound
End Sub