C# - Envoi et Réception d'un message TCP/IP à une Adresse IP et le Port
J'ai le code suivant pour envoyer un message TCP/IP à une Adresse IP spécifique et Port:
public bool sendTCPMessage(string ip_address, string port, string transaction_id, string customer_username, DateTime date)
{
bool success = false;
try
{
int converted_port = Convert.ToInt32(port);
string converted_date = date.ToString("dd/MM/yyyy HH:mm:ss", CultureInfo.InvariantCulture);
JObject obj = new JObject();
obj["Transaction_Status"] = "Paid";
obj["Transaction_ID"] = transaction_id;
obj["Processed_Date"] = converted_date;
obj["Customer_Username"] = customer_username;
JSONMobile json_mobile = new JSONMobile();
string json = json_mobile.SerializeToString(obj);
TcpClient client = new TcpClient(ip_address, converted_port);
Byte[] message = System.Text.Encoding.ASCII.GetBytes(json);
NetworkStream stream = client.GetStream();
stream.Write(message, 0, message.Length);
stream.Close();
client.Close();
success = true;
}
catch (Exception)
{
success = false;
}
return success;
}
Maintenant, supposons que je passe les adresse_ip comme '127.0.0.1' et le port de '1'. Lorsque la méthode s'exécute, je suis l'exception suivante:
Est-ce passe car il n'existe pas à l'écoute à l'autre bout? Si oui, comment puis-je configurer un serveur à l'adresse ip (ok, pas 0.0.0.45 mais 127.0.0.1) et le numéro de port à accepter le message et y répondre? Merci 🙂
- Regardez les
TcpListener
classe. - Merci Jon Skeet 🙂
Vous devez vous connecter pour publier un commentaire.
Vous auriez besoin d'un
TcpListener
objet d'agir en tant que serveur. LeTcpListener
objet serait à l'écoute pour les connexions entrantes sur le port spécifié. Vous pouvez utiliser le.AcceptTcpClient
méthode pour établir une nouvelle connexion. (Si vous voulais que plusieurs clients que vous avez à regarder dans le multithreading)Également comme une note de côté en utilisant le Port 1 serait une mauvaise pratique, faible numéros de port sont généralement réservés pour le système des trucs ou des protocoles standard tels que
telnet
,ftp
,http
etc.