Hello world ,
je me sert de votre forum pour apprendre l'utilisation des sockets dans le but de développé un bot seafight qui est un jeu par navigateur web, me voilà bloqué je souhaite savoir comment récupéré l'adresse ip et le port de connection lorsque je me connecte au jeux , ainsi par la suite recupéré certain paquet d'action pour le bot :) enfin si vous pouvez m'aider sa serait cool :)
------------------
J'ai fait mes essai , donc c'est sa l'ip et le port non? :
Loading Image
_____________
_______________
Par contre , comment envoyé les logs et verifié que tout es bon car je ne trouve pas de moi même
_____________________
edit :
using System;
using System.Net;
using System.Net.Sockets;
using System.Threading;
using System.IO;
using System.Runtime.InteropServices;
using System.Text.RegularExpressions;
namespace ConsoleApplication3
{
class Program
{
static void Main(string[] args)
{
Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
IPAddress address = IPAddress.Parse("178.132.241.25");
IPEndPoint endPoint = new IPEndPoint(address, 80);
try
{
socket.Connect(endPoint);
byte[] sendBuffer = new byte[] { 0x00, 0x20, 0x44, 0xFF, 0xFF, 0xFF };
sendBuffer = System.Text.Encoding.ASCII.GetBytes("compte");
int bytesSent = socket.Send(sendBuffer);
byte[] sendBuffer2 = new byte[] { 0x00, 0x20, 0x44, 0xFF, 0xFF, 0xFF };
sendBuffer2 = System.Text.Encoding.ASCII.GetBytes("code");
int bytesSent2 = socket.Send(sendBuffer2);
if (bytesSent == 0 || bytesSent2 == 0)
{
Console.WriteLine("Une erreur est survenue lors de l'envoie de donnees a travers le socket");
throw new ApplicationException("Erreur d'envoie des donnees par le socket");
}
}
catch (SocketException ex)
{
Console.WriteLine("La connection n'a pu etre etablie. Pour connaitre la raison il faut regarder la propriete ErrorCode de l'exception");
Console.WriteLine("Erreur socket: " + ex.ErrorCode);
//References sur les codes erreurs: http://msdn.microsoft.com/en-us/library/ms740668%28VS.85%29.aspx
}
catch (ArgumentNullException)
{
Console.WriteLine("Votre IPEndPoint n'est pas definit.");
}
catch (ObjectDisposedException)
{
Console.WriteLine("Cet erreur arrive si vous essayez de re utiliser un socket");
}
catch (InvalidOperationException)
{
Console.WriteLine("Le socket est en mode ecoute pour accepter des connections. Dans ce cas il ne peut ce connecter");
}
Console.WriteLine("Bravo! vous etes connecter!");
}
}
}
bon je pense pas que se soit comme sa lol , comment je fait pour verifier? :)
En Ajoutant
Console.WriteLine(bytesSent);
Console.WriteLine(bytesSent2);
j'obtient :
7
8
-----------------
Et quand j'ajoute
:
byte[] recvBuffer = new byte[1024];
int bytesReceived = socket.Receive(recvBuffer);
if (bytesReceived == 0)
{
Console.WriteLine("Une erreur est survenue lors de la reception de donnees a travers le socket");
throw new ApplicationException("Erreur de reception des donnees par le socket");
}
byte[] data = new byte[bytesReceived];
Array.Copy(recvBuffer, 0, data, 0, bytesReceived);
Console.Write("Nous avons recu les donnees suivantes du socket: ");
foreach (byte b in data)
Console.Write(b.ToString("X") + " ");
Console.Write(Environment.NewLine);
la console m'indique rien reste noir..