Maison >Java >javaDidacticiel >Explication détaillée des étapes spécifiques de la programmation réseau
Trois éléments de la programmation réseau
Oui L'identifiant unique d'un ordinateur sur Internet.
La classe InetAddress n'a pas de constructeur, utilisez la méthode suivante pour obtenir l'objet InetAddress
static InetAddress[] |
getAllByName(Hôte de chaîne)
Étant donné un nom d'hôte, renvoie un tableau de son adresse IP en fonction du service de noms configuré sur le système. |
||||||||||
Adresse Inet statique |
getByAddress(adresse octet[]) Étant donné l'adresse IP d'origine, renvoie un objet InetAddress. |
||||||||||
Adresse Inet statique |
getByAddress(chaîne hôte, octet[] addr) Crée une InetAddress basée sur le nom d'hôte et l'adresse IP fournis. |
||||||||||
Adresse Inet statique |
getByName(Hôte de chaîne) Détermine l'adresse IP d'un hôte à partir d'un nom d'hôte.
|
||||||||||
Adresse Inet statique |
getLocalHost() Retour à l'hôte local. |
InetAddress的其它方法
|
getHostAddress()
|
||||
String |
获取此 IP 地址的主机名。 |
协议
每个数据包大小限制在64k中.
|
DatagramSocket() 构造数据报套接字并将其绑定到本地主机上任何可用的端口。 |
DatagramSocket()构造数据报套接字 |
成员方法
|
|
||||
void |
envoyer(DatagramPacket p)
|
DatagramPacket (byte[] buf, int length, InetAddress adresse, int port) 构造数据报包,用来将长度为 longueur 的包发送到指定主机上的指定端口号。 参数:buf - 包数据。longueur - 包长度。adresse - 目的地址。port - 目的端口号。 |
|
Socket(InetAddress address, int port) 创建一个流套接字并将其连接到指定 IP 地址的指定端口号。
参数: address - IP 地址。 port - 端口号。 |
成员方法
|
getInputStream() 返回此套接字的输入流。 | ||||
OutputStream |
getOutputStream() 返回此套接字的输出流。 |
Cette classe implémente les sockets serveur. Le socket du serveur attend que les requêtes arrivent sur le réseau. Il effectue certaines actions en fonction de la demande et peut ensuite renvoyer les résultats au demandeur.
Méthode constructeur
|
|
Socket |
accepter()
Écoute et accepte les connexions à cette prise. Question :Pourquoi ServerSocket n'est-il pas configuré pour obtenir le flux (getOutputStream) Quelle est la méthode correspondante ? Le serveur étant connecté à plusieurs clients, afin d'éviter toute confusion, un socket est établi avec chacun client. Opérations getOutputStream et getInputStream |
ServerSocket serverSocket = new ServerSocket(9090);
Socket socket = serverSocket.accept(); //Cette méthode est une méthode de blocage. le client s'y connecte, il attendra éternellement.
InputStream inputStream = socket.getInputStream() ;
octet[] buf = nouvel octet[1024];
int longueur = 0;
length = inputStream.read(buf);
System.out.println("Données reçues par le serveur : "+ nouvelle chaîne (buf,0,length));
//Envoyer un message au client et le serveur écrit les données sur le client
OutputStream out = socket.getOutputStream( //Obtenir le flux de sortie object
out.write("Client, je l'ai reçu!".getBytes());
Fermer les ressources du serveur
serverSocket.close();
Socket socket = new Socket(InetAddress.getLocalHost(), 9090);
OutputStream out = socket.getOutputStream();
out.write("Ceci est mon premier exemple TCP!" .getBytes());
InputStream inputStream = socket. getInputStream();
byte[] buf = new byte[1024];
int length = inputStream.read(buf);
System.out.println("Données reçues par le client : "+ new String(buf,0,length));
socket.close();
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!