Erreur bloquante sur mini application client tcp/ip

Résolu
Billybobbonnet Messages postés 148 Date d'inscription lundi 12 février 2007 Statut Membre Dernière intervention 9 novembre 2013 - 8 oct. 2008 à 11:49
Billybobbonnet Messages postés 148 Date d'inscription lundi 12 février 2007 Statut Membre Dernière intervention 9 novembre 2013 - 8 oct. 2008 à 14:27
Salut à tous,

Je fais une mini application dont le but est
d'envoyer à une ip donnée, sur un port, un message. Tous ces paramètres
sont lancés en arguments au démarrage de l'appli et elle ne fait que
ça. J'ai fait une application console en .net et le code est le suivant:

<hr size="2" width="100%" />Imports System
Imports System.Text
Imports System.Net.Sockets
Imports System.Threading

Namespace SimpleTCPClient
    Public Class cApplication
        ' NetworkStream that will be used

        Public Shared myStream As NetworkStream
        ' TcpClient that will connect for us

        Public Shared myClient As TcpClient
        ' Storage space

        Public Shared myBuffer As Byte()

        ' Point d'entrée

        Public Shared Sub Main(ByVal args())
            If args Is Nothing Then
                Exit Sub
            End If

            Dim strServer As String = args(0)
            Console.WriteLine("server = " & strServer)

            Dim strPort As String = args(1)
            Console.WriteLine("port = " & strPort)

            Dim strMessage As String = "<%" & args(2) & "%>"
            Console.WriteLine("message = " & strMessage)

            ' Connexion serveur

            myClient = New TcpClient(strServer, Int32.Parse(strPort))
            Console.WriteLine("Connected...")
            ' Store the NetworkStream

            myStream = myClient.GetStream()
            ' Create data buffer

            myBuffer = New Byte(myClient.ReceiveBufferSize - 1) {}

            Console.WriteLine("Connexion ok et application ok...")
            Console.WriteLine("----------------------------------")
           
Console.WriteLine("Envoi du message" & strMessage & " à " &
strServer & "sur le port " & strPort)

            myStream.Write(Encoding.ASCII.GetBytes(strMessage.ToCharArray()), 0, strMessage.Length)

        End Sub
    End Class
End Namespace
<hr size="2" width="100%" />Et
la question, qui peut sembler naïve à certains (je suis un éternel
débutant...) est: comment virer cette erreur qui m'empêche de compiler?
:

Erreur    1    Aucune méthode 'Main' accessible avec une
signature appropriée n'a été trouvée dans 'Dumblesender'.   
ConsoleApplication1

Au passage, si le code semble pouvoir être améliorer, ou si vous voyez déjà des erreurs, je suis preneur de conseils.

Merci d'avance.

2 réponses

gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
8 oct. 2008 à 13:09
Imports




System



Imports




System.Text



Imports




System.Net.Sockets



Imports




System.Threading 

 




Namespace




SimpleTCPClient



Public





Class

cApplication



' NetworkStream that will be used








Public





Shared

myStream


As

NetworkStream



' TcpClient that will connect for us








Public





Shared

myClient


As

TcpClient



' Storage space








Public





Shared

myBuffer


As





Byte

()



' Point d'entrée








Shared





Sub

Main()args =



My

.Application.CommandLineArgs 



Try 










Dim

strServer


As





String

= args(0)Console.WriteLine(



"server = "

& strServer) 



Dim

strPort


As





String

= args(1)Console.WriteLine(



"port = "

& strPort)



Dim

strMessage


As





String

=


"<%"

& args(2) &


"%>"


Console.WriteLine(





"message = "

& strMessage)



' Connexion serveur


myClient =





New

TcpClient(strServer, Int32.Parse(strPort))Console.WriteLine(



"Connected..."

)



' Store the NetworkStream


myStream = myClient.GetStream()








' Create data buffer


myBuffer =





New





Byte

(myClient.ReceiveBufferSize - 1) {} 

 

Console.WriteLine(



"Connexion ok et application ok..."

)Console.WriteLine(



"----------------------------------"

)Console.WriteLine(



"Envoi du message"

& strMessage &


" à "

& strServer &


"sur le port "

& strPort)myStream.Write(Encoding.ASCII.GetBytes(strMessage.ToCharArray()), 0, strMessage.Length)



Catch

ex


As

ExceptionConsole.WriteLine(



"no argument given on command line"

)Console.Read()



'pour voir le message d'erreur








End





Try








End





Sub








End





ClassEnd







Namespace













Bonjour chez vous !
3
Billybobbonnet Messages postés 148 Date d'inscription lundi 12 février 2007 Statut Membre Dernière intervention 9 novembre 2013
8 oct. 2008 à 14:27
Merci, gillardg! Le code est nickel maintenant! +1
0
Rejoignez-nous