begin process at 2010 02 10 13:52:28
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Delphi

 > 

Réseau & Internet

 > 

Sockets

 > 

transfert de donnees


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

transfert de donnees

lundi 30 octobre 2006 à 21:09:51 | transfert de donnees

gattou

Bonjour,
JE BUTE sur un pb et j espere que qqn pourra m aider.

Jai crée une application réseau qui consiste à envoyer des données entre un Pc client et un Pc seveur.pour cela j utilise un socket client sur le Pcclient  (clientsocket) et un socket serveur sur le Pc serveur(serversocket).
J envoie mes donnees sous forme d un tableau de bytes:
buffer : array[0..1000] of byte
 ........
et j ' utilise la fonction sendbuf(buffer, 1001);
 tout cela fonctionne tant que la taille du buffer reste a inferieur à 1024 bytes
si j essai d envoyer un buffer  de taille supérieur (par exemple >3000 octets) je ne recois sur mon socket serveur.
En revanche quand je fais les tests sur la meme machine(c est a dire lorsque le PC fait office de client et de serveur) j arrive a envoyer des buffers d une de 8 ko.
J aimerais savoir s il est possible d envoyer des buffers d une taille supérieur a 1 ko entre 2 Pc et si oui comment faire???
Merci d avance pour toute reponse 

lundi 30 octobre 2006 à 21:57:24 | Re : transfert de donnees

Francky23012301

Membre Club
Arffff tu utilises TSocket : c'est pas bien !

Borland dis clairement que TSocket n'est plus installé par défaut car il admet plein de bugs. Il faut utiliser les composants Indy ou ICS.

Cependant si tu pouvais reformuler ta question car dur dur de tout saisir. Puis si tu pouvais passer un bout de code voir si tu as pas fait une boulette ailleurs sa serait sympas à toi

@+
lundi 30 octobre 2006 à 22:33:06 | Re : transfert de donnees

gattou

Ok,
j essaie d envoyer un tableau de byte d un PC a un autre PC,
tant que ce tableau ne dépasse pas 1 koctet(array [0..1023] of byte), l application marche correctement, mais des que j augmente la taille du buffer(array [0..4096] of byte par exemple) le socketclient envoie le tableau mais du coté serveur je ne recois rien du tout, et aucun message d erreur n apparait me signalant que l envoi ne s est pas réalisé)
voici une partie du code
//coté client

procedure envoi;
var
tampon: array [0..4095] of byte;
..........
begin

// tout d abord j ai rempli mon tampon avec n importe qu elle valeur juste pour tester
for i:=1 to 4096 do
tampon[i]:=byte('a');
form1.client.Socket.SendBuf(tampon,4096);
end;

//coté serveur


procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
  Socket: TCustomWinSocket);
  var
  nb:integer;
tampon: array[0..4095] of byte;
  begin
nb:=socket.receivelength();
socket.receivebuf(tampon,nb);
label1.caption:=inttostr(nb);// -> je constate que nb<4096 (765octets)
socket.sendtext('recus');
end;

Voila j espere ke j ai eté un peu plus clair
je pense aussi comme toi ,  c possible ke ca soit un bug des sockets , mais j aimerais en etre sur. 

mercredi 1 novembre 2006 à 16:34:33 | Re : transfert de donnees

gattou

salut tout le monde,
Apres pas mal de recheches et de tests de programmes utilisant les sockets, il me semble qu il y a effectivement pas mal de bugs sur composants sockets.

Je suis donc passé au composants indy (idtcpclient et idtcpserver sous delphi7),
j'aimerais savoir comment avec le composant Indy intégré a Delphi7 pouvoir attendre les informations d'un serveur, et en fonction de celles ci, faire différentes procédures.

j aimerais savoir comment faire pour pouvoir attendre les informations d un serveur.
en effet j arrive a me connecte rau serveur en TCP via le composant IdTCPClient.Connect,  mais comment faire pour se mettre en "attente de réponse.
 



Cette discussion est classée dans : buffer, donnees, pc, serveur, envoyer


Répondre à ce message

Sujets en rapport avec ce message

serveur http +controle pc [ par MoveX ] bon, je souhaiterai faire un programme qui, lance sur un pc connecte a internet, permet de prendre le controle de ce pc par l intermediaire de pages h Envoyer des fichiers sur un serveur FTP [ par Isabelle31 ] Bonjour, Je souhaite envoyer des fichiers d'un serveur FTP à un autre. J'utilise les composants Indy. J'arrive à copier les fichiers sur mon poste mai envoyer un fichier sur un serveur http [ par veudAbajour ] Bonjour, je suis novice en développement DELPHI, actuellement je développe ma première application,et je n'ai pas forcément fais au plus simple. Voila Envoyer des données ??? [ par christo01 ] Bonjour tout le monde !Je suis en train de faire un prog qui se sépare en deux :Un client et un serveurLe but est simple: Lorsque la souris bouge chez Peut on envoyer du text par Tserversocket? [ par kurt2005 ] Salut tt le monde, Je suis nouveau ds la prog Delphi et j'essaie de faire un serveur qui puisse ouvrir un fichier texte et envoyer ce qu'il contient a controle d'un pc à distance [ par templeofboom ] bonjour je suis débutant en delphi et j'aimerais savoir si l'on peu peu prendre le controle d'une machine à distance lorsqu'on connait son adresse ip? PB pour envoyer une ListView1 avec serveur socket [ par garocheb ] Salut donc voila j'ai pensé a çaServerSocket1.Socket.Sendtext(ListView1.items);Mias il me dit [Erreur] Unit1.pas(515): Types incompatibles : 'String' envoyer un OleVariant par socket [ par Rems ] Bonsoir à tous..j'ai besoin d'aide car je n'arrive pas passer un OleVariant (ClientDataSet.Data)  du client au serveur et vice versa utilisant les soc Comment uploader un programme [ par Francky23012301 ] Coucou à tous Voilà ma question : Si on établit un socket entre un PC serveur et un PC client comment faire pour envoyer un fichier du serveur au cli serveur ftp et envoi de la liste de fichiers ! [ par picolo5 ] Bonjour, je dev. un petit serveur ftp, mais sans composants !je n arrive pas a envoyer le liste des fichiers du dossier en cours, je m explique :le cl


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,858 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales