Tengo una aplicación que hace función de Caller ID (Identificador de Llamadas) el soft trabaja bien, la duda surge porque hace poco lo trate de usar en un Modem MulTiTech puerto COM y
no captura la información, entonces me puse a investigar y el problema es que ese modem no entrega los datos a la misma velocidad que otro modem (por ejemplo uno USB), la solución segun varios usuarios por la red es la de crear un buffer que lea la información (byte x byte) o algo asi, queria saber si alguien tiene alguna noción sobre el tema, entiende sobre lo que hablo aqui...
Les pongo el codigo que tengo actual para capturar la información...
Delegate Sub SetTextCallback(ByVal [text] As String) 'Added to prevent threading errors during receiveing of data
Private Sub SerialPort1_DataReceived(ByVal sender As Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs) Handles SerialPort1.DataReceived
ReceivedText(SerialPort1.ReadExisting()) 'Automatically called every time a data is received at the serialPort
End Sub
Private Sub ReceivedText(ByVal [text] As String)
'compares the ID of the creating Thread to the ID of the calling Thread
If Me.InvokeRequired Then
Dim x As New SetTextCallback(AddressOf ReceivedText)
Me.Invoke(x, New Object() {(text)})
Else
SplitData([text]) 'Esta es la función que me organiza los datos recibidos.
End If
End Sub