"Programmation réseau TCP / IP JAVA comprise depuis les bases" Compilé avec Eclipse. Déboguer avec Wireshark.

Recommandé pour ceux qui n'ont jamais touché à JAVA. C'est toujours intéressant après 20 ans.

Programmation réseau TCP / IP Java à partir des bases, Ohm, Tomohiro Odaka, 1999.8

基礎.png

https://www.amazon.co.jp/dp/4274064867/ Il a été utilisé comme matériel pédagogique pour la formation JAVA depuis l'année de publication de la première édition. La deuxième édition (URL ci-dessus) est sortie en 2002. Avant d'atteindre ce livre, je saisis la source de 20 livres (ou celui du CD), je le compile et l'exécute. L'avantage de ce livre par rapport aux autres livres est que vous pouvez découvrir à quel point il est facile de faire fonctionner le réseau, qui est la spécialité de JAVA.

En 1996, j'ai pratiqué JAVA et Microsoft J ++ de Sunmicrosystems dans un autre livre. Depuis 1999, j'ai pratiqué avec J Builder dans ce livre. Certains d'entre nous ont pris ce livre et effectué des exercices à trois chiffres, et maintenant il y a ceux qui enseignent dans les universités et les entreprises.

Cette fois, nous utiliserons les outils de développement Java d'Eclipse.

Utilisation de wirehark

Comprendre les règles de communication de base telles que TCP, IP, UDP, HTTP. De plus, il est bon de vérifier le fonctionnement lors de l'acquisition de données avec un logiciel appelé Wireshark qui surveille les paquets.

http://wireshark.org Le code source de Wilshark peut également être utilisé dans divers dispositifs de communication. Détails à la fin de cet article.

Présentation d'Eclipse, des outils de développement Java

Windows https://www.eclipse.org Téléchargez Eclipse à partir de. Après le téléchargement Sélectionnez "Eclipse Java Developer tools" et installez-le en plus. Si vous ne faites pas cette sélection, vous pouvez compiler, mais vous risquez d'obtenir une erreur d'exécution.

Macintosh Présentation d'Eclipse sur Macintosh OS X (5 murs) https://qiita.com/kaizen_nagoya/items/b17f03db00aceee41a80

Debian/Ubuntu/Raspbian

apt-get update
apt-get install eclipse

Introduction de 113 paquets dans Raspbian.

Création de programme, projet, package, java / classe JAVA avec Eclipse

Créer un projet JAVA

java0.png Sélectionnez "Projet Java" dans "Nouveau" dans le menu "Fichier".

java01.png S'il s'agit de 2.2.1 Readnet, entrez "Readnet" dans "Nom du projet". Lorsque "Terminer" devient sélectionnable, appuyez sur "Terminer".

Si "Java Project" n'apparaît pas, cela signifie que l'introduction des "Java Developer Tools" n'a pas réussi. Je vais essayer de le présenter à nouveau.

Créer un fichier de classe

java02.png

Sélectionnez "classe" de "Nouveau" dans le menu "Fichier".

java03.png

Entrez «readnet» et «Readnet» dans «Package:» et «Name:». Lorsque "Terminer" devient sélectionnable, appuyez sur "Terminer".

Si vous entrez le nom du package en majuscules "Readnet", l'avertissement suivant apparaîtra sous "Java Class" en haut. 「This package name is discouraged. By convention, package names usually start with a lowercase letter」

Rednet.java


package readnet;

public class Readnet {

}

Assurez-vous que le nom du fichier et le nom de la classe sont identiques. Java suppose une définition de classe dans un fichier. Par conséquent, si le nom de fichier et le nom de classe sont différents, une erreur de compilation se produit.

Compiler, exécuter, déboguer dans Eclipse

compiler

java1.png Sélectionnez "Exécuter les configurations" dans le menu "Exécuter". java22.png

Double-cliquez sur "Application Java". java32.png Sélectionnez l'onglet "(x) = Arguments", entrez les paramètres requis dans "Arguments du programme:" et appuyez sur "Exécuter".

Par exemple, comme utilisation dans le programme P88 "2.2 Fonctions réseau disponibles en JAVA"

//Exemple de kick JAVA Readnet.fuis.fukui-u.ac.jp 60000

Il est devenu. Ici, entrez l'environnement que vous utilisez. Par exemple, si 192.168.2.23 est une adresse IP, vous pouvez saisir directement l'adresse IP. De plus, même si le numéro de port est 60000, vous pouvez utiliser un autre numéro disponible pour traiter avec l'autre partie.

En langage C, args [0] est le nom du programme, mais en JAVA, args [0] est le premier argument.

java33.png

Il vous sera demandé si vous souhaitez enregistrer le fichier. Appuyer sur OK".

java34.png

Les erreurs d'exécution ou les résultats du programme apparaissent dans la "Console".

java35.png S'il y a une erreur de compilation, elle sera affichée dans la balise "Problems".

Erreur de compilation

Au début, une erreur de compilation apparaît 2 à 3 fois en raison d'une erreur de description, et je m'en souviens en la corrigeant.

java36.png

Il y a une erreur de compilation, mais si vous voulez continuer, sélectionnez "Continuer", et si vous voulez revenir en arrière et la corriger puis compiler à nouveau, sélectionnez "Annuler". java4.png

L '"Explorateur de packages", le numéro de ligne du code source et le "Plan" indiquent également l'emplacement de l'erreur de compilation. Si vous sélectionnez la balise "Problems", vous verrez une liste d'erreurs de compilation. S'il y a plus d'une erreur java41.png

Exécution / mesure par WireShark

Si le résultat de l'exécution n'est pas celui que vous attendiez, Démarrez WireShark et mesurez le paquet. wire1.png Lorsque vous interagissez avec d'autres périphériques réseau, sélectionnez l'interface connectée. Par exemple, "Ethernet: en0". Si vous souhaitez interagir avec vous-même, sélectionnez "Loopback: lo0".

wire2.png

Pour éviter cela, sur Macintosh et Linux, utilisez l'invite de commande.

su otheruser
wireshark &

Sélectionnez "Loopback: lo0". Ici, l'autre utilisateur est l'ID d'un autre utilisateur. Même si vous tapez otheruser, on dit que vous ne savez pas qu'il n'y a personne avec l'ID otheruser.

wire3.png

Vous pouvez mesurer les paquets de vous-même à vous-même.

Introduction de WireShark

Windows https://www.wireshark.org/download.html

Windows Installer (64-bit)
Windows Installer (32-bit)

Déposez-en un et exécutez.

Macintosh Cinq murs pour introduire Wireshark sur Macintosh https://qiita.com/kaizen_nagoya/items/69eb2d357a125f5368e1 référence

Debian/Ubuntu/Raspbian

apr-get update
apt-get install wireshark

10 barrières pour tirer parti de Wireshark avec Raspberry Pi

https://qiita.com/kaizen_nagoya/items/b3fa0a20855d44c3768d

Résumé

Fonctionnalités de JAVA (par rapport à C et C ++)

1 Le nom de la classe et le nom du fichier sont identiques, et les extensions sont respectivement class et java. Le projet et le package peuvent être identiques. Cependant, en principe, Package commence par une minuscule. 2 Bon à Internet (comparé aux langages C et C ++ avant JAVA) Il y a une fonction principale dans 3 classes. Un sentiment d'étrangeté. Il peut être bon d'avoir la classe principale comme classe principale ou la classe OS de l'environnement d'exécution. 4 En langage C, args [0] est le nom du programme. En JAVA, le premier argument est entré dans args [0].

JAVA dans Eclipse

1 Eclipse est également écrit en JAVA et est compatible. 2 Introduction des outils de développement JAVA 3 Commencez par Nouveau-> Projet Java, Nouveau-> classe. 4 Pour les arguments de commande, sélectionnez l'onglet "(x) = Arguments" et les paramètres requis pour "Arguments du programme:"

Débogage de la programmation réseau

1 Utilisez Wireshark 2 Spécifiez Loopback comme interface pour vous-même les paquets 3 Si l'accès est interdit, faites appel à une personne accessible et commencez par 4 Pour les connexions autres que vous, sélectionnez une connexion spécifique telle que Ethernet: en0.


Cet article est sur le point d'être rédigé. Je vais l'ajouter un par un.
"Programmation réseau TCP / IP JAVA comprise depuis les bases" Chapitre 2 Programmation réseau par JAVA phttpd Collecte d'exceptions en trois endroits https://qiita.com/drafts/d1db78d3db0e90c0ff9f On dit que je n'aime pas ça car c'est http / 0.9.

Réussir le spécialiste du réseau d'examen d'ingénieur en traitement de l'information https://qiita.com/kaizen_nagoya/items/407857392ca5c5677ee4

Port d'émulateur de communication https://qiita.com/drafts/ce505bbea4229b83e93b

Compatible Macintosh "Création d'analyseurs TCP / IP et analyse de paquets comprise depuis les bases Compatible Linux / FreeBSD" Tomohiro Odaka Ohm https://qiita.com/kaizen_nagoya/items/517411b42fc5ceabd581

Recommended Posts

"Programmation réseau TCP / IP JAVA comprise depuis les bases" Compilé avec Eclipse. Déboguer avec Wireshark.
Trouvez la classe d'adresse et le type d'adresse à partir de l'adresse IP avec Java
Trouvez la classe d'adresse et le type d'adresse à partir de l'adresse IP avec Java [décoction n ° 2]
[Java] Réglez l'heure depuis le navigateur avec jsoup
Essayez d'implémenter TCP / IP + NIO avec JAVA
bases de la programmation Java
[Tutoriel] Télécharger Eclipse → Lancer l'application avec Java (Pléiades)
J'ai essayé d'implémenter TCP / IP + BIO avec JAVA