Seeking NNTP classes.....

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Jim

    #1

    Seeking NNTP classes.....

    Have you seen any NNTP classes that I may use or build upon to build a
    simple newsreader/downloader?

    Is there such a class in the .Net framework that I have overlooked? If not,
    inclusion of RFC documented protocols would certainly be a good idea for a
    class hierarchy in the .Net classes.

    You could adopt and extend the classes at will. Who knows......mayb e even
    improve one and get a new RFC implemented.

    Any help you could give would be great. (FYI the RFCs for NNTP protocols
    are at http://www.ietf.org/rfc/rfc0977.txt?number=977 and the RFC for the
    USENET mail standard is at http://www.ietf.org/rfc/rfc0850.txt?number=850.)

    Thanks!



  • chris martin

    #2
    Re: Seeking NNTP classes.....

    The way I see it, you have two choices and most likely a couple more.

    1. Implement the RFCs using TcpClient. (two thumbs down from me)
    2. Utilize other people work. Use the IndyProject http//www.indyproject .org

    In the last couple of years I wanted to do the same thing but, never really
    got going. I found a couple of .NET libraries but found that Indy was the
    most complete.

    Good luck and if you succeed, please post about it! :)

    Chris
    [color=blue]
    > Have you seen any NNTP classes that I may use or build upon to build a
    > simple newsreader/downloader?
    >
    > Is there such a class in the .Net framework that I have overlooked?
    > If not, inclusion of RFC documented protocols would certainly be a
    > good idea for a class hierarchy in the .Net classes.
    >
    > You could adopt and extend the classes at will. Who knows......mayb e
    > even improve one and get a new RFC implemented.
    >
    > Any help you could give would be great. (FYI the RFCs for NNTP
    > protocols are at http://www.ietf.org/rfc/rfc0977.txt?number=977 and
    > the RFC for the USENET mail standard is at
    > http://www.ietf.org/rfc/rfc0850.txt?number=850.)
    >
    > Thanks!
    >[/color]


    Comment

    • Jim

      #3
      Re: Seeking NNTP classes.....

      Link doesn't work to Indy.....http//www.indyproject .org simply redirects to
      www.microsoft.com.


      "chris martin" <chris_m|NOSPAM |@caliber|SPAM| web.com> wrote in message
      news:441fa36b13 1178c7cd5a42d14 172@news.easyne ws.com...[color=blue]
      > The way I see it, you have two choices and most likely a couple more.
      >
      > 1. Implement the RFCs using TcpClient. (two thumbs down from me)
      > 2. Utilize other people work. Use the IndyProject
      > http//www.indyproject .org
      >
      > In the last couple of years I wanted to do the same thing but, never
      > really got going. I found a couple of .NET libraries but found that Indy
      > was the most complete.
      >
      > Good luck and if you succeed, please post about it! :)
      >
      > Chris
      >[color=green]
      >> Have you seen any NNTP classes that I may use or build upon to build a
      >> simple newsreader/downloader?
      >>
      >> Is there such a class in the .Net framework that I have overlooked?
      >> If not, inclusion of RFC documented protocols would certainly be a
      >> good idea for a class hierarchy in the .Net classes.
      >>
      >> You could adopt and extend the classes at will. Who knows......mayb e
      >> even improve one and get a new RFC implemented.
      >>
      >> Any help you could give would be great. (FYI the RFCs for NNTP
      >> protocols are at http://www.ietf.org/rfc/rfc0977.txt?number=977 and
      >> the RFC for the USENET mail standard is at
      >> http://www.ietf.org/rfc/rfc0850.txt?number=850.)
      >>
      >> Thanks!
      >>[/color]
      >
      >[/color]


      Comment

      • Jim

        #4
        Re: Seeking NNTP classes.....

        Googled and found it..... thanks!

        "Jim" <reply@groups.p lease> wrote in message
        news:Ifpnf.3699 $kP5.1816@bigne ws5.bellsouth.n et...[color=blue]
        > Link doesn't work to Indy.....http//www.indyproject .org simply redirects
        > to www.microsoft.com.
        >
        >
        > "chris martin" <chris_m|NOSPAM |@caliber|SPAM| web.com> wrote in message
        > news:441fa36b13 1178c7cd5a42d14 172@news.easyne ws.com...[color=green]
        >> The way I see it, you have two choices and most likely a couple more.
        >>
        >> 1. Implement the RFCs using TcpClient. (two thumbs down from me)
        >> 2. Utilize other people work. Use the IndyProject
        >> http//www.indyproject .org
        >>
        >> In the last couple of years I wanted to do the same thing but, never
        >> really got going. I found a couple of .NET libraries but found that Indy
        >> was the most complete.
        >>
        >> Good luck and if you succeed, please post about it! :)
        >>
        >> Chris
        >>[color=darkred]
        >>> Have you seen any NNTP classes that I may use or build upon to build a
        >>> simple newsreader/downloader?
        >>>
        >>> Is there such a class in the .Net framework that I have overlooked?
        >>> If not, inclusion of RFC documented protocols would certainly be a
        >>> good idea for a class hierarchy in the .Net classes.
        >>>
        >>> You could adopt and extend the classes at will. Who knows......mayb e
        >>> even improve one and get a new RFC implemented.
        >>>
        >>> Any help you could give would be great. (FYI the RFCs for NNTP
        >>> protocols are at http://www.ietf.org/rfc/rfc0977.txt?number=977 and
        >>> the RFC for the USENET mail standard is at
        >>> http://www.ietf.org/rfc/rfc0850.txt?number=850.)
        >>>
        >>> Thanks!
        >>>[/color]
        >>
        >>[/color]
        >
        >[/color]


        Comment

        • Jim

          #5
          Re: Seeking NNTP classes.....

          Doesn't play well with VS 2005....


          "Jim" <reply@groups.p lease> wrote in message
          news:5hpnf.3709 $kP5.2463@bigne ws5.bellsouth.n et...[color=blue]
          > Googled and found it..... thanks!
          >
          > "Jim" <reply@groups.p lease> wrote in message
          > news:Ifpnf.3699 $kP5.1816@bigne ws5.bellsouth.n et...[color=green]
          >> Link doesn't work to Indy.....http//www.indyproject .org simply redirects
          >> to www.microsoft.com.
          >>
          >>
          >> "chris martin" <chris_m|NOSPAM |@caliber|SPAM| web.com> wrote in message
          >> news:441fa36b13 1178c7cd5a42d14 172@news.easyne ws.com...[color=darkred]
          >>> The way I see it, you have two choices and most likely a couple more.
          >>>
          >>> 1. Implement the RFCs using TcpClient. (two thumbs down from me)
          >>> 2. Utilize other people work. Use the IndyProject
          >>> http//www.indyproject .org
          >>>
          >>> In the last couple of years I wanted to do the same thing but, never
          >>> really got going. I found a couple of .NET libraries but found that Indy
          >>> was the most complete.
          >>>
          >>> Good luck and if you succeed, please post about it! :)
          >>>
          >>> Chris
          >>>
          >>>> Have you seen any NNTP classes that I may use or build upon to build a
          >>>> simple newsreader/downloader?
          >>>>
          >>>> Is there such a class in the .Net framework that I have overlooked?
          >>>> If not, inclusion of RFC documented protocols would certainly be a
          >>>> good idea for a class hierarchy in the .Net classes.
          >>>>
          >>>> You could adopt and extend the classes at will. Who knows......mayb e
          >>>> even improve one and get a new RFC implemented.
          >>>>
          >>>> Any help you could give would be great. (FYI the RFCs for NNTP
          >>>> protocols are at http://www.ietf.org/rfc/rfc0977.txt?number=977 and
          >>>> the RFC for the USENET mail standard is at
          >>>> http://www.ietf.org/rfc/rfc0850.txt?number=850.)
          >>>>
          >>>> Thanks!
          >>>>
          >>>
          >>>[/color]
          >>
          >>[/color]
          >
          >[/color]


          Comment

          • Herfried K. Wagner [MVP]

            #6
            Re: Seeking NNTP classes.....

            "Jim" <reply@groups.p lease> schrieb:[color=blue]
            > Have you seen any NNTP classes that I may use or build upon to build a
            > simple newsreader/downloader?[/color]

            Accessing newsgroups with NNTP
            <URL:http://dotnet.mvps.org/dotnet/faqs/?id=nntp&lang=e n>

            --
            M S Herfried K. Wagner
            M V P <URL:http://dotnet.mvps.org/>
            V B <URL:http://classicvb.org/petition/>

            Comment

            • Ken Tucker [MVP]

              #7
              Re: Seeking NNTP classes.....

              Hi,

              Here is some vb.net code I wrote based on this c# code.



              NNTP class
              Imports System.Net.Sock ets
              Imports System.IO
              Imports System.Runtime. Serialization
              Imports System.Runtime. Serialization.F ormatters.Binar y

              Public Class NNTP
              Inherits System.Net.Sock ets.TcpClient

              Public Event MessageHeaderRe cieved(ByVal sender As Object, ByVal e As
              NNPTEventArgs)
              Dim arNews As New NewsGroupMessag eTable
              Dim mstrGroupName As String

              #Region "Message custom Hashtable"
              <Serializable() > _
              Private Class NewsGroupMessag eTable
              Inherits System.Collecti ons.DictionaryB ase
              Default Public Property Item(ByVal key As [String]) As
              NNTP.NewsGroupM essage
              Get
              Return CType(Dictionar y(key), NNTP.NewsGroupM essage)
              End Get
              Set(ByVal Value As NNTP.NewsGroupM essage)
              Dictionary(key) = Value
              End Set
              End Property

              Public ReadOnly Property Keys() As ICollection
              Get
              Return Dictionary.Keys
              End Get
              End Property

              Public ReadOnly Property Values() As ICollection
              Get
              Return Dictionary.Valu es
              End Get
              End Property

              Public Sub Add(ByVal key As [String], ByVal value As
              NNTP.NewsGroupM essage)
              Dictionary.Add( key, value)
              End Sub 'Add

              Public Function Contains(ByVal key As [String]) As Boolean
              Return Dictionary.Cont ains(key)
              End Function 'Contains

              Public Sub Remove(ByVal key As [String])
              Dictionary.Remo ve(key)
              End Sub 'Remove



              End Class
              #End Region

              #Region "News group message class"
              <Serializable() > _
              Public Class NewsGroupMessag e
              Dim mstrSubject As String
              Dim mstrTo As String
              Dim mstrFrom As String
              Dim mstrBody As String
              Dim mdtMessage As Date
              Dim intId As Long
              Dim strRef As String = "None"

              Public Property ID() As Long
              Get
              Return intId
              End Get
              Set(ByVal Value As Long)
              intId = Value
              End Set
              End Property

              Public Property MessageDate() As Date
              Get
              Return mdtMessage
              End Get
              Set(ByVal Value As Date)
              mdtMessage = Value
              End Set
              End Property

              Public Property Subject() As String
              Get
              Return mstrSubject
              End Get
              Set(ByVal Value As String)
              mstrSubject = Value
              End Set
              End Property

              Public Property From() As String
              Get
              Return mstrFrom
              End Get
              Set(ByVal Value As String)
              mstrFrom = Value
              End Set
              End Property

              Public Property Body() As String
              Get
              Return mstrBody
              End Get
              Set(ByVal Value As String)
              mstrBody = Value
              End Set
              End Property

              Public Property MessageReferenc e() As String
              Get
              Return strRef
              End Get
              Set(ByVal Value As String)
              strRef = Value
              End Set
              End Property
              Public Property MessageTo() As String
              Get
              Return mstrTo
              End Get
              Set(ByVal Value As String)
              mstrTo = Value
              End Set
              End Property


              End Class

              #End Region

              #Region "NNPT event args"
              Public Class NNPTEventArgs
              Inherits EventArgs
              Private mintMax As Long
              Private mintpos As Long
              Private mMessage As NewsGroupMessag e

              Public Sub New(ByVal max As Long, ByVal pos As Long, ByVal message
              As NewsGroupMessag e)
              mintMax = max
              mintpos = pos
              mMessage = message
              End Sub

              Public ReadOnly Property Max() As Long
              Get
              Return mintMax
              End Get
              End Property

              Public ReadOnly Property Pos() As Long
              Get
              Return mintpos
              End Get
              End Property

              Public ReadOnly Property Message() As NewsGroupMessag e
              Get
              Return mMessage
              End Get
              End Property
              End Class
              #End Region

              Public Overloads Sub Connect(ByVal server As String)
              Dim strResponse As String

              Connect(server, 119)
              strResponse = Response()
              If strResponse.Sub string(0, 3) <> "200" Then
              Throw New NntpException(R esponse)
              End If

              End Sub 'Connect



              Public Sub Disconnect()
              Dim message As String
              Dim strResponse As String

              message = "QUIT" + vbCr + vbLf
              Write(message)
              strResponse = Response()
              If strResponse.Sub string(0, 3) <> "205" Then
              'Throw New NntpException(R esponse)
              End If
              Dim strFile As String = String.Format(" {0}.ngd",
              CurrentNewsGrou p.Replace(".", ""))

              Dim fs As New FileStream(strF ile, FileMode.OpenOr Create)

              'Get a Binary Formatter instance
              Dim bf As New BinaryFormatter

              'Serialize t
              bf.Serialize(fs , arNews)

              End Sub 'Disconnect



              Public Function GetNewsgroups() As ArrayList
              Dim message As String
              Dim strResponse As String

              Dim retval As New ArrayList

              message = "LIST" & vbCr & vbLf
              Write(message)
              strResponse = Response()
              If strResponse.Sub string(0, 3) <> "215" Then
              Throw New NntpException(R esponse)
              End If

              While True
              strResponse = Response()
              If strResponse = "." + vbCr + vbLf OrElse strResponse = "." +
              vbLf Then
              Return retval
              Else
              Dim seps As Char = " "c
              Dim values As String() = strResponse.Spl it(seps)
              retval.Add(valu es(0))
              End If
              End While

              End Function 'GetNewsgroups

              Private Function Response() As String
              Dim enc As New System.Text.ASC IIEncoding
              Dim serverbuff() As Byte = New [Byte](1023) {}
              Dim stream As NetworkStream = GetStream()
              Dim count As Integer = 0
              While True
              Dim buff() As Byte = New [Byte](1) {}
              Dim bytes As Integer = stream.Read(buf f, 0, 1)
              If bytes = 1 Then
              serverbuff(coun t) = buff(0)
              count += 1

              If buff(0) = Asc(vbLf) Then
              Exit While
              End If
              Else
              Exit While
              End If
              End While

              Dim retval As String = enc.GetString(s erverbuff, 0, count)
              'Debug.WriteLin e("READ:" + retval)
              Return retval

              End Function 'Response

              Public Property CurrentNewsGrou p() As String
              Get
              Return mstrGroupName
              End Get
              Set(ByVal Value As String)
              mstrGroupName = Value
              End Set
              End Property

              Public Sub GetNewsHeaders( )
              Dim message As String
              Dim strResponse As String = "211"

              If CurrentNewsGrou p Is Nothing Then
              MessageBox.Show ("Set news group first")
              Return
              End If

              message = "GROUP " + CurrentNewsGrou p + vbCr + vbLf
              Write(message)
              strResponse = Response()
              If strResponse.Sub string(0, 3) <> "211" Then
              Throw New NntpException(s trResponse)
              End If

              Dim seps As Char = " "c
              Dim values As String() = strResponse.Spl it(seps)

              Dim start As Long = Int32.Parse(val ues(2))
              Dim [end] As Long = Int32.Parse(val ues(3))

              If start + 500 < [end] AndAlso [end] > 500 Then
              start = [end] - 500
              End If

              Dim strFile As String = String.Format(" {0}.ngd",
              CurrentNewsGrou p.Replace(".", ""))
              If File.Exists(str File) Then
              Dim fs As New FileStream(strF ile, FileMode.Open)

              'Get a Binary Formatter instance
              Dim bf As New BinaryFormatter

              'Deserialize c from strFilename2
              'Note that the deserialized object must be cast to the proper
              type.
              arNews = CType(bf.Deseri alize(fs), NewsGroupMessag eTable)

              'Close the file and release resources (avoids GC delays)
              fs.Close()

              End If


              Dim l As Long = 0
              For Each c As NewsGroupMessag e In arNews.Values
              l += 1
              RaiseEvent MessageHeaderRe cieved(Me, New
              NNPTEventArgs(a rNews.Count, l, c))
              Next

              Dim i As Long
              For i = [end] To start Step -1
              If Not arNews.Contains (i.ToString) Then
              message = "HEAD " & i & vbCr & vbLf
              Write(message)
              strResponse = Response()

              If strResponse.Sub string(0, 3) <> "423" Then

              If strResponse.Sub string(0, 3) <> "221" Then
              Throw New NntpException(s trResponse)
              Else
              Dim article As New NewsGroupMessag e
              article.ID = i
              Dim intLine As Integer = 0
              Dim strMessage As String

              While True
              strResponse = Response()
              If strResponse = "." + vbCr + vbLf Then
              Exit While
              End If

              If strResponse = "." + vbLf Then
              Exit While
              End If

              If strResponse.Ind exOf("From:") = 0 Then
              article.From = strResponse.Sub string(6)
              ElseIf strResponse.Ind exOf("Subject") = 0 Then
              article.Subject = strResponse.Sub string(9)
              ElseIf strResponse.Ind exOf("Reference s:") = 0
              Then
              article.Message Reference =
              strResponse.Sub string(12)
              ElseIf strResponse.Ind exOf("Message-ID:") = 0
              Then
              strMessage = strResponse.Sub string(12)
              ElseIf strResponse.Ind exOf("Newsgroup s:") = 0
              Then
              article.Message To =
              strResponse.Sub string(12)
              ElseIf strResponse.Ind exOf("Date:") = 0 Then
              Dim intEnd As Integer =
              strResponse.Ind exOf("-") - 6
              If intEnd < 0 Then
              intEnd = strResponse.Ind exOf("+") - 6
              End If
              If intEnd < 0 Then
              intEnd = strResponse.Ind exOf("GMT") - 6
              End If
              article.Message Date =
              DateTime.Parse( strResponse.Sub string(6, intEnd))
              End If
              intLine += 1
              End While
              If article.Message Reference = "None" Then
              article.Message Reference = strMessage
              arNews.Add(arti cle.ID.ToString , article)
              Dim z As Long = [end] - start
              RaiseEvent MessageHeaderRe cieved(Me, New
              NNPTEventArgs([end] - start, z - (i - start), article))
              End If
              End If
              End If
              Next i


              End Sub 'GetNews

              Public Function GetNewsArticle( ByVal MessageID As Long) As String
              Dim message As String
              Dim strResponse As String

              If CurrentNewsGrou p Is Nothing Then
              MessageBox.Show ("Set news group first")
              Return Nothing
              End If

              message = "GROUP " + CurrentNewsGrou p + vbCr + vbLf
              Write(message)
              strResponse = Response()
              If strResponse.Sub string(0, 3) <> "211" Then
              Throw New NntpException(s trResponse)
              End If

              message = "BODY " & MessageID.ToStr ing & vbCr & vbLf
              Write(message)
              Dim article As String
              strResponse = Response()

              If strResponse.Sub string(0, 3) <> "423" Then

              If strResponse.Sub string(0, 3) <> "222" Then
              Throw New NntpException(s trResponse)
              Else
              Dim intLine As Integer = 0
              Dim strMessage As String

              While True
              strResponse = Response()
              If strResponse = "." + vbCr + vbLf Then
              Exit While
              End If

              If strResponse = "." + vbLf Then
              Exit While
              End If

              article &= strResponse
              End While
              DirectCast(arNe ws.Item(Message ID.ToString),
              NewsGroupMessag e).Body = article
              End If
              End If
              Return article

              End Function 'GetNews



              Public Sub Post(ByVal newsgroup As String, ByVal subject As String,
              ByVal from As String, ByVal content As String)
              Dim message As String
              Dim strResponse As String

              message = "POST " & newsgroup & vbCr & vbLf
              Write(message)
              strResponse = Response()
              If strResponse.Sub string(0, 3) <> "340" Then
              Throw New NntpException(R esponse)
              End If

              message = "From: " & from & vbCr & vbLf & "Newsgroups : " & newsgroup
              & vbCr & vbLf & "Subject: " & subject & vbCr & vbLf & vbCr & vbLf & content
              & vbCr & vbLf & "." & vbCr & vbLf
              Write(message)
              strResponse = Response()
              If strResponse.Sub string(0, 3) <> "240" Then
              Throw New NntpException(R esponse)
              End If

              End Sub 'Post



              Private Sub Write(ByVal message As String)
              Dim en As New System.Text.ASC IIEncoding

              Dim WriteBuffer(102 3) As Byte
              WriteBuffer = en.GetBytes(mes sage)

              Dim stream As NetworkStream = GetStream()
              stream.Write(Wr iteBuffer, 0, WriteBuffer.Len gth)

              'Debug.WriteLin e("WRITE:" & message)

              End Sub 'Write
              End Class

              Public Class NewsGroupMessag eCollection
              Inherits System.Collecti ons.CollectionB ase


              Public Sub Add(ByVal value As NNTP.NewsGroupM essage)
              list.Add(value)
              End Sub

              Public Sub Remove(ByVal Index As Integer)
              If Index > Count - 1 Or Index < 0 Then
              Throw New Exception("Inva lid Index")
              Else
              list.RemoveAt(I ndex)
              End If
              End Sub

              Public ReadOnly Property Item(ByVal Index As Integer) As
              NNTP.NewsGroupM essage
              Get
              Return CType(list.Item (Index), NNTP.NewsGroupM essage)
              End Get
              End Property


              End Class




              Public Class NntpException
              Inherits System.Applicat ionException

              Public Sub New(ByVal str As String)
              MyBase.New(str)

              End Sub 'New
              End Class 'NntpException

              Ken
              ------------------
              "Jim" <reply@groups.p lease> wrote in message
              news:yqonf.7737 4$Y82.56826@big news4.bellsouth .net...[color=blue]
              > Have you seen any NNTP classes that I may use or build upon to build a
              > simple newsreader/downloader?
              >
              > Is there such a class in the .Net framework that I have overlooked? If
              > not,
              > inclusion of RFC documented protocols would certainly be a good idea for a
              > class hierarchy in the .Net classes.
              >
              > You could adopt and extend the classes at will. Who knows......mayb e even
              > improve one and get a new RFC implemented.
              >
              > Any help you could give would be great. (FYI the RFCs for NNTP protocols
              > are at http://www.ietf.org/rfc/rfc0977.txt?number=977 and the RFC for the
              > USENET mail standard is at
              > http://www.ietf.org/rfc/rfc0850.txt?number=850.)
              >
              > Thanks!
              >
              >
              >[/color]


              Comment

              • Jim

                #8
                Re: Seeking NNTP classes.....

                Thanks for the jumping off point!

                "Ken Tucker [MVP]" <vb2ae@bellsout h.net> wrote in message
                news:O8MJV84$FH A.504@TK2MSFTNG P12.phx.gbl...[color=blue]
                > Hi,
                >
                > Here is some vb.net code I wrote based on this c# code.
                >
                > http://www.developerfusion.co.uk/show/4472/[/color]


                Comment

                • Lance R.

                  #9
                  RE: Seeking NNTP classes.....

                  > Have you seen any NNTP classes that I may use or build upon to build a[color=blue]
                  >[/color]
                  simple newsreader/downloader?

                  Jim there is an NNTP demo included in IPWorks.
                  The NNTP component implements all of the protocol for you - leaving you with a
                  very simple API to work with. If you need more sample code, let me know, we've
                  got plenty.

                  Regards,
                  Lance R.
                  /n software
                  /n software - The Net Tools Company, our products include IPWorks, WebSockets, Bluetooth, SSL, SSH, S/MIME, OpenPGP, Encrypt, AUTH, SNMP, Zip, E-Payment, OFX, ERP, EDI, BizTalk, SQL Server SSIS, PowerShell, SFTP, etc.


                  -

                  Comment

                  • Jim

                    #10
                    Re: Seeking NNTP classes.....

                    Thanks Lance, but this is for a freeware project. While I am certain that
                    your components are of impeccable quality and that they are very easy to
                    use, I cannot justify the $400 price tag for a freeware project.

                    With the .Net components that I have worked with thus far (and I have not
                    worked with IPWorks yet) I cringe at the very thought of spending more than
                    $100 on any component. The components that I have used this far miss the
                    marks of ease-of-use set by the COM components I was used to (pre- this .Net
                    disaster) by a mile.

                    They are neither intuitive nor easy to use. I will reserve judgment on
                    IPWorks until I have some extra time to play with a demo, but, to be quite
                    honest, if IPWorks is intuitive or as easy to use as the old COM components
                    that used extensively I would be shocked.

                    It is also a sad commentary on the devastation that Microsoft has wrought
                    throughout its own industry that the component developers didn't have
                    anything ready for .Net 2.0 at its launch. That means that they aren't
                    making enough money off of components to put the needed resources on the
                    projects that need upgrading for .Net 2.0. And, that means that the masses
                    of VB programmers that used to buy components like crack whores needing a
                    fix just aren't programming any more.

                    I suppose that's a major reason for the free Express editions of VS 2005.
                    Trying to get back what they scattered.

                    Alas, it may be too little, too late. As Microsoft is (and its component
                    developers are) learning.....it 's damned hard to put Humpty back together
                    again.


                    "Lance R." <lancer@nsoftwa re.removeme.com > wrote in message
                    news:OOUbBeBAGH A.3692@TK2MSFTN GP10.phx.gbl...[color=blue][color=green]
                    >> Have you seen any NNTP classes that I may use or build upon to build a
                    >>[/color]
                    > simple newsreader/downloader?
                    >
                    > Jim there is an NNTP demo included in IPWorks.
                    > The NNTP component implements all of the protocol for you - leaving you
                    > with a
                    > very simple API to work with. If you need more sample code, let me know,
                    > we've
                    > got plenty.
                    >
                    > Regards,
                    > Lance R.
                    > /n software
                    > http://www.nsoftware.com/
                    >
                    > -
                    >[/color]


                    Comment

                    • Jim

                      #11
                      Re: Seeking NNTP classes.....

                      The Indy Project is evidently NOT for use with VB.Net (despite what the web
                      site states).

                      Here is an exchange I had with a "TeamB" member after finding a missing
                      component needed to run the VB.Net NNTP Post sample code on the IndyProject
                      site....(posted at atozedsoftware. indy.protocol.n ntp - their news server )

                      --------------
                      "Remy Lebeau (TeamB)" <no.spam@no.spa m.com> wrote in message
                      news:34FFE96364 E5E240no.spam@n o.spam.com...[color=blue]
                      >
                      > "Jim" <reply@groups.p lease> wrote in message
                      > news:9E05031460 E5E240reply@gro ups.please...
                      >[color=green]
                      >> The NNTP Post example (for .Net) has a reference to
                      >> Borland.VclRtl, but the file does not seem to be included
                      >> with the example code or Indy 10.[/color]
                      >
                      > It is a Borland runtime file that is part of the Delphi product. From the
                      > sounds of it, you are not actually using Delphi.NET to write your
                      > application, are you?[/color]

                      No. I an using VB.Net Pro 2005.
                      [color=blue]
                      >[color=green]
                      >> Where can I get this file[/color]
                      >
                      > You need to use Delphi.[/color]

                      I guess the part that threw me was the whole Visual Basic .Net NNTP Post
                      example. Seeing as how the example was written in VB.Net, I thought that's
                      what you'd use to run it.

                      My bad.
                      ------------

                      Evidentially, Indy is for Delphi only.....either that or they don't want to
                      fool with you unless you code in Delphi.

                      I don't know about you, but I have enough fanatics to worry about without
                      adding Delphi language fanatics to the mix.

                      Moving on......


                      Comment

                      • Jim

                        #12
                        Re: Seeking NNTP classes.....

                        To be fair to the nsoftware people, I downloaded the trial version of the
                        core components (Version 6.1.2161) to see for myself if they would be easy
                        to use.

                        I have to take back my doubts about the ease-of-use of the nsoftware nntp
                        component.

                        It is very easy to use AND intuitive. I made a test form, connected to my
                        NNTP server and downloaded the groups listing in less than 2
                        minutes...witho ut having used nsoftware components before and without
                        reading any of the very detailed documentation that comes with the suite.

                        My hat is off to you sir. And, I offer my heartfelt apologies for having
                        lumped your company's products in with the rest. Yours by far outshines
                        anything I have used or tested to date.

                        Jim


                        "Jim" <reply@groups.p lease> wrote in message
                        news:b0Gnf.1044 9$MA2.9544@bign ews6.bellsouth. net...[color=blue]
                        > Thanks Lance, but this is for a freeware project. While I am certain that
                        > your components are of impeccable quality and that they are very easy to
                        > use, I cannot justify the $400 price tag for a freeware project.
                        >
                        > With the .Net components that I have worked with thus far (and I have not
                        > worked with IPWorks yet) I cringe at the very thought of spending more
                        > than $100 on any component. The components that I have used this far miss
                        > the marks of ease-of-use set by the COM components I was used to (pre-
                        > this .Net disaster) by a mile.
                        >
                        > They are neither intuitive nor easy to use. I will reserve judgment on
                        > IPWorks until I have some extra time to play with a demo, but, to be quite
                        > honest, if IPWorks is intuitive or as easy to use as the old COM
                        > components that used extensively I would be shocked.
                        >
                        > It is also a sad commentary on the devastation that Microsoft has wrought
                        > throughout its own industry that the component developers didn't have
                        > anything ready for .Net 2.0 at its launch. That means that they aren't
                        > making enough money off of components to put the needed resources on the
                        > projects that need upgrading for .Net 2.0. And, that means that the
                        > masses of VB programmers that used to buy components like crack whores
                        > needing a fix just aren't programming any more.
                        >
                        > I suppose that's a major reason for the free Express editions of VS 2005.
                        > Trying to get back what they scattered.
                        >
                        > Alas, it may be too little, too late. As Microsoft is (and its component
                        > developers are) learning.....it 's damned hard to put Humpty back together
                        > again.
                        >
                        >
                        > "Lance R." <lancer@nsoftwa re.removeme.com > wrote in message
                        > news:OOUbBeBAGH A.3692@TK2MSFTN GP10.phx.gbl...[color=green][color=darkred]
                        >>> Have you seen any NNTP classes that I may use or build upon to build a
                        >>>[/color]
                        >> simple newsreader/downloader?
                        >>
                        >> Jim there is an NNTP demo included in IPWorks.
                        >> The NNTP component implements all of the protocol for you - leaving you
                        >> with a
                        >> very simple API to work with. If you need more sample code, let me know,
                        >> we've
                        >> got plenty.
                        >>
                        >> Regards,
                        >> Lance R.
                        >> /n software
                        >> http://www.nsoftware.com/
                        >>
                        >> -
                        >>[/color]
                        >
                        >[/color]


                        Comment

                        Working...