📜  outil de programmation socket sur ubuntu - Shell-Bash (1)

📅  最后修改于: 2023-12-03 14:44:59.030000             🧑  作者: Mango

Outil de programmation socket sur Ubuntu - Shell-Bash

Introduction

Dans le développement logiciel, les sockets sont des interfaces de programmation (API) qui permettent aux programmes de communiquer entre eux, que ce soit sur la même machine ou sur des machines distantes. Sur Ubuntu, vous pouvez utiliser le shell Bash pour créer des programmes socket et établir des connexions réseau.

Cet article vous guidera à travers les principales étapes pour créer un programme socket en utilisant le shell Bash sur Ubuntu. Nous commencerons par expliquer les bases des sockets, puis nous vous montrerons comment créer un serveur socket et un client socket.

Les bases des sockets

Les sockets sont généralement utilisés pour établir des connexions TCP/IP, qui sont des connexions réseau fiables et orientées connexion. Lorsque vous créez un programme socket, vous devez choisir entre le rôle du serveur (celui qui écoute et accepte les connexions) et le rôle du client (celui qui initie la connexion).

Un socket est identifié par une adresse IP et un numéro de port. L'adresse IP peut être l'adresse locale (127.0.0.1) pour une communication interne sur la même machine, ou une adresse IP publique pour une connexion réseau externe. Le numéro de port représente le point d'entrée du socket, et il faut s'assurer qu'il est unique pour chaque socket.

Créer un serveur socket

Voici les étapes pour créer un serveur socket en utilisant le shell Bash sur Ubuntu :

  1. Importez la bibliothèque de fonctions socket :
#!/bin/bash
import socket
  1. Créez un objet socket serveur :
#!/bin/bash
import socket

HOST="127.0.0.1"
PORT=1234

s=socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((HOST, PORT))
s.listen(1)
  1. Acceptez les connexions entrantes :
#!/bin/bash
import socket

HOST="127.0.0.1"
PORT=1234

s=socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((HOST, PORT))
s.listen(1)

conn, addr = s.accept()
  1. Traitez les données reçues :
#!/bin/bash
import socket

HOST="127.0.0.1"
PORT=1234

s=socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((HOST, PORT))
s.listen(1)

conn, addr = s.accept()

data = conn.recv(1024)
  1. Fermez la connexion :
#!/bin/bash
import socket

HOST="127.0.0.1"
PORT=1234

s=socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((HOST, PORT))
s.listen(1)

conn, addr = s.accept()

data = conn.recv(1024)

conn.close()
Créer un client socket

Voici les étapes pour créer un client socket en utilisant le shell Bash sur Ubuntu :

  1. Importez la bibliothèque de fonctions socket :
#!/bin/bash
import socket
  1. Créez un objet socket client :
#!/bin/bash
import socket

HOST="127.0.0.1"
PORT=1234

s=socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((HOST, PORT))
  1. Envoyez des données :
#!/bin/bash
import socket

HOST="127.0.0.1"
PORT=1234

s=socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((HOST, PORT))

s.sendall("Hello, server!")
  1. Recevez les données en retour :
#!/bin/bash
import socket

HOST="127.0.0.1"
PORT=1234

s=socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((HOST, PORT))

s.sendall("Hello, server!")

data = s.recv(1024)
  1. Fermez la connexion :
#!/bin/bash
import socket

HOST="127.0.0.1"
PORT=1234

s=socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((HOST, PORT))

s.sendall("Hello, server!")

data = s.recv(1024)

s.close()
Conclusion

Maintenant, vous connaissez les bases de la programmation socket en utilisant le shell Bash sur Ubuntu. Vous pouvez créer des serveurs socket pour écouter les connexions entrantes et des clients socket pour initier les connexions. N'hésitez pas à explorer davantage cette technique pour développer des applications réseau plus avancées.