Comment puis-je envoyer des messages d'un ordinateur à un autre à l'aide de vb.net?
Ok, donc j'ai eu envie de faire ce depuis quelques années maintenant, et cela m'étonne que nul ne peut venir à une solution... je veux écrire un programme (de préférence en vb.net) qui permet d'envoyer un message à un autre ordinateur (ou périphérique) qui est connecté au même réseau que moi. Je veux que le message apparaisse sur l'autre ordinateur (ou périphérique) dans une fenêtre de boîte de message. Aussi, l'idéal serait, si cela pouvait se faire qu'à travers une sorte de connexion bluetooth, si non, alors ip locale de connexion ne. Je ne sais pas comment je pourrais faire cela, mais je sais que c'est possible car j'ai vu certains programmes de le faire... en fait, j'ai vu un programme appelé blackrain que, sans aucun logiciel supplémentaire installé, peut afficher des messages sur un ipod touch de l'écran d'instruire l'yser quoi faire, puis afficher les résultats de leur entrée sur l'écran de l'ordinateur, presque instantanément. Je voudrais savoir comment cela marche aussi si quelqu'un a des idées, n'hésitez pas à les partager!
Détails Supplémentaires:
- J'ai beaucoup d'expérience avec vb.net de ligne de commande, les fonctions, et vbscript.
- Je suis actuellement en cours d'exécution Windows 7 Professional x64
- J'ai une mini-adaptateur bluetooth externe.
- Je voudrais (si possible) semblables à celles de l'ipod/iphone applications qui vous permettent de contrôler votre ordinateur portable curseur sur wifi sync; dans le sens où il n'y a aucune configuration n'est nécessaire, et pas besoin de logiciel supplémentaire. (Exemple: remotepad.iap)
Le code de la boîte de message serait quelque chose comme:
ObjClient = New TcpClient("127.0.0.1", 1000)
TcpClient.Start()
Messagebox.Show("Popup Message Here")
TcpClient.Close()
Je sais que ce code ne sorte de la même chose dans l'invite de commande:
msg * /SERVER:localhost hello
ou ce code va faire la même chose dans l'invite de commande:
msg * hello > localhost
Mais je veux le faire sans aucun des fichiers batch, si possible, parce que je ne veux pas avoir à configurer quoi que ce soit sur l'autre extrémité.
Merci!
Ne rien avoir à faire avec des Sockets ou des Ports peut-être?
Essayez
msg /server:<Server Name/Address> "Your message"
en ligne de commande. Si cela fonctionne pour vous, vous pouvez très facilement exécuter cette commande à partir d'vb.netJe suis assez sûr que, quand vous dites "on n'a pas trouvé une solution", cela signifie que vous juste n'avez pas trouvé une solution.
R im essayant de se connecter à un autre ordinateur dans ma maison, alors comment pourrais-je savoir son ip? wouldnt être "localhost(id de quelque sorte)"?
Martin c'est vrai cependant, si personne n'a une solution à proposer alors par extension ... "personne n'a trouvé une solution"; ou ils sont tout simplement trop paresseux pour le poster
OriginalL'auteur daniel11 | 2011-08-25
Vous devez vous connecter pour publier un commentaire.
À l'aide de TcpClient et bibliothèques est certainement la bonne réponse.
Exemple de code pour l'écriture des données à une adresse IP/port:
Utilisation TcpListener pour regarder pour les données entrantes.
http://msdn.microsoft.com/en-us/library/system.net.sockets.tcplistener.aspx
edit: Pour savoir quelle adresse IP de l'envoyer à... Vous pouvez soit avoir une liste d'ip interne pour se connecter à, ou ont chacun des ordinateurs du réseau "s'abonner" à votre programme, si c'est hébergé de manière statique sur une boîte. Pour ma part, quand je suis en utilisant ce code, le processus d'hôte se trouve sur un serveur. Processus Client qui veulent recevoir des messages envoie un petit message à l'hôte, qui enregistrera l'adresse IP pour être en mesure d'envoyer plus tard.
L'obtention de l'adresse IP d'un client demandant:
forums.techarena.in/windows-vista-network/978944.htm
aussi, im test de votre code maintenant, et où il dit: "mon.les paramètres.commport" que dois-je remplacer commport? parce qu'il dit " 'commport" n'est pas un membre de 'windowsapplication1.mon.mysettings' "
Ah, que serait une variable que j'ai dans mon application.config liste. Vous pouvez remplacer qu'avec tout ce que vous souhaitez. Il représente le numéro de port que vous souhaitez envoyer des données.
donc, puis-je le remplacer par ("1000") par exemple? et ce serait super si vous pouviez l'adresse de mon premier commentaire... merci!
OriginalL'auteur Zhais