Inserire header in un messaggio via socket
ancio
ancio non è online. Ultima attività: 03/07/2009 19.55.29ancio
il 3 novembre 2008 alle 15.52
www.rsv-service.com | 375 messaggi dal 08 maggio 2003
Salve a tutti,
come da oggetto desideravo sapere se c'è un modo ( e se si quale o che strada seguire ) per inserire in un messaggio che un client invia ad un server ( via socket ) un header dove specifico il tema del messaggio.
Mi spiego meglio: il client invia diversi tipi di messaggio al server. Nell header vorrei specificare che tipo di messaggio è ( ad es. per login, per aggiornamento dati etc ) ed in base al contenuto dell header il server decide cosa fare con i dati contenuti un quel messaggio.

Ho letto in internet che proprio come i protocolli anche i messaggi socket possono includere degli headers... ma non ho trovato come fare!

Qualcuno può aiutarmi?

Grazie
Microsoft Most Valuable Professional
RE: Inserire header in un messaggio via socket
Ricciolo
Ricciolo non è online. Ultima attività: 02/07/2009 11.58.20Ricciolo Top Poster
il 4 novembre 2008 alle 18.02
L'header è una caratteristica di http o di altri protocolli ma se tu parli di socket in generale, lo stream che passa dipende dal protocollo che stai usando. Se è http si tratta semplicemente di buttare nello stream di output una stringa "Header: ". Se il protocollo è fatto da te, scegli te come passare questa informazioni, sui primi byte per esempio

Ciao

Il mio blog
Homepage
RE: Inserire header in un messaggio via socket
ancio
ancio non è online. Ultima attività: 03/07/2009 19.55.29ancio
il 7 novembre 2008 alle 14.12
www.rsv-service.com | 375 messaggi dal 08 maggio 2003
Passo il tutto con protocollo TCP
RE: Inserire header in un messaggio via socket
gghi
gghi non è online. Ultima attività: 17/02/2009 15.41.03gghi
il 7 novembre 2008 alle 17.09
300 messaggi dal 31 maggio 2006
Ciao
anche se passi il tutto col protocollo tcp devi costruire un msg che contiene sia il tuo headers specifico di messaggio che il contenuto del messaggio.
RE: Inserire header in un messaggio via socket
ancio
ancio non è online. Ultima attività: 03/07/2009 19.55.29ancio
il 16 novembre 2008 alle 01.57
www.rsv-service.com | 375 messaggi dal 08 maggio 2003
E se separassi header e messaggio da un simbolo ( Es ~ ) e poi nel server facessi una bella funzione Split?
RE: Inserire header in un messaggio via socket
gghi
gghi non è online. Ultima attività: 17/02/2009 15.41.03gghi
il 16 novembre 2008 alle 10.31
300 messaggi dal 31 maggio 2006
Ciao
il msg è tuo e quindi puoi usare qualsiasi tipo di formattazione per gestire Header e body; potresti anche considerare di crearti la tua classe msg che tramite serializzazione e deserializzazione invii tra client e server


Imports System.Xml.Serialization
Imports System.IO

<Serializable()> _
Public Class Messaggio
  Private localHeader As String
  Private localBody As String

  Public Property Header() As String
    Get
      Return localHeader
    End Get
    Set(ByVal value As String)
      localHeader = value
    End Set
  End Property

  Public Property Body() As String
    Get
      Return localBody
    End Get
    Set(ByVal value As String)
      localBody = value
    End Set
  End Property

  <NonSerialized()> Public ValoreNonSerializzabile As String
End Class


#Region "Serializer"

Public Class Generic_Serializer

  Public Shared Function Serializza(Of ItemType)(ByVal fileName As String, ByVal Oggetto As ItemType) As Boolean
    Try
      Dim ser As New XmlSerializer(GetType(ItemType))
      Dim fs As New FileStream(fileName, FileMode.Create)
      ser.Serialize(fs, Oggetto)
      fs.Close()
    Catch ex As Exception
      Return False
    End Try
    Return True
  End Function

  Public Shared Function Deserializza(Of ItemType)(ByVal fileName As String) As ItemType
    If File.Exists(fileName) = False Then
      Return Nothing
    End If
    Dim fs As FileStream = Nothing
    Try
      Dim ser As New XmlSerializer(GetType(ItemType))
      fs = New FileStream(fileName, FileMode.Open)
      Dim tempParametri As ItemType = CType(ser.Deserialize(fs), ItemType)
      Return tempParametri
    Catch ex As Exception
      Throw New Exception("Errore nel file " & fileName & ex.Message, ex)
    Finally
      If fs IsNot Nothing Then
        fs.Close()
      End If
    End Try
    Return Nothing
  End Function
End Class

#End Region

Vai a:
Torna al forum |   Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.

COMMUNITY
ULTIMI MESSAGGI
MEDIA
IN EVIDENZA
MISC
Powered by .db Forums "Caesar Reborn" v. 2009.6.9