UPLOADER DE FICHIER EN GTK+ 2.0 SOUS LINUX

luhtor Messages postés 2023 Date d'inscription mardi 24 septembre 2002 Statut Membre Dernière intervention 28 juillet 2008 - 21 juin 2006 à 13:21
jrbleboss Messages postés 480 Date d'inscription jeudi 6 mai 2004 Statut Membre Dernière intervention 3 septembre 2007 - 26 juil. 2006 à 16:58
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/38220-uploader-de-fichier-en-gtk-2-0-sous-linux

jrbleboss Messages postés 480 Date d'inscription jeudi 6 mai 2004 Statut Membre Dernière intervention 3 septembre 2007 1
26 juil. 2006 à 16:58
Bon enfin un prog utile ^^. Bon eut si j'ai envie de rediriger mes port sur toutes les ip c mon choix ok ^^.

Sinon question prog c bien et c surtout très rapide !!
MuPuF Messages postés 536 Date d'inscription mercredi 27 avril 2005 Statut Membre Dernière intervention 22 août 2008
29 juin 2006 à 17:42
lol me too
bigbourin Messages postés 64 Date d'inscription lundi 12 avril 2004 Statut Membre Dernière intervention 18 août 2006
29 juin 2006 à 17:39
ya 5 ans j'etait sur vbfrance ............................ XD
MuPuF Messages postés 536 Date d'inscription mercredi 27 avril 2005 Statut Membre Dernière intervention 22 août 2008
29 juin 2006 à 13:55
tu n'en es pas blammé lol, tu restes dans la communauté cpp france, il y a 5 ans, ça aurait été blamme à vie et honte sur la famille (:-D)
bigbourin Messages postés 64 Date d'inscription lundi 12 avril 2004 Statut Membre Dernière intervention 18 août 2006
29 juin 2006 à 13:53
c'est bon j'ais juste raté le "m" XD, et le y je l'ais deja vu écrit avec donc j'ais pas vérifié
MuPuF Messages postés 536 Date d'inscription mercredi 27 avril 2005 Statut Membre Dernière intervention 22 août 2008
26 juin 2006 à 18:16
sympa le projet !
c'est vrai que pour l'algorytique c'était un peu poussé :-)
Bah, on va dire que c'est qu'il se faisait tard lol.
Domage que j'ai plusieurs projets, sinon ça aurait été marrant de s'en faire une partie lol
cs_necromagik Messages postés 3 Date d'inscription dimanche 20 juin 2004 Statut Membre Dernière intervention 25 juillet 2006
26 juin 2006 à 14:31
On dit algorithmique ^^
Sinon sympa comme projet (dig to frag), ce n'est pas sans me rappeler quelquechose ;)
bigbourin Messages postés 64 Date d'inscription lundi 12 avril 2004 Statut Membre Dernière intervention 18 août 2006
25 juin 2006 à 23:01
mon domaine est plus dans l'algorytique, si tu veut voir mon plus gros projet (commencé il y a un mois) avec un pote DarkWizarD :
http://bigserver.homedns.org/dig_to_frag/
bigbourin Messages postés 64 Date d'inscription lundi 12 avril 2004 Statut Membre Dernière intervention 18 août 2006
25 juin 2006 à 22:59
Le tient est surement bien plus perfectionné ^^, mais bon moi c'est pas vrément mon domaine, j'ait fait ca un jour ou les server msn on crashé, donc avec mes potes j'ais utilisé Sagwin pour dialoguer, mais le transfert de fichier n'est pas intégré (projet abandoné), donc j'ais commencé a coder un uploader pour que le créateur (thaeron, un ami) l'integre dedant, pis comme il l'a jamais fait XD, j'ais fait une version un peu plus graphique vu que je l'utilise assé souvent (j'ais bcp de problemmes avec le transfert msn)
MuPuF Messages postés 536 Date d'inscription mercredi 27 avril 2005 Statut Membre Dernière intervention 22 août 2008
25 juin 2006 à 22:55
mouais, moi j'utilise les tables de hash, si une partie est corrompue, il la retélécharge, je te jure que c'est utile sur les mauvaises lignes (voire trés trés mauvaise, du style 6 Ko/s d'upload en ADSL).
vila, moi aussi bientot un an que je suis dessus, mais moi il gere aussi le ftp, vila @+
bigbourin Messages postés 64 Date d'inscription lundi 12 avril 2004 Statut Membre Dernière intervention 18 août 2006
25 juin 2006 à 22:50
normalement faudrait faire un protocole ou le recepeteur envoi un acusé avec le nombre d'octets recu .. etc, et si il recoi pas tout sa renvoi le dernier packet ... Mais c'est trop chiant a mettre en place pis franchement, sa fait bientot 1 ans que je l'utilise, j'ais jamais eu une seul perte de packet.
MuPuF Messages postés 536 Date d'inscription mercredi 27 avril 2005 Statut Membre Dernière intervention 22 août 2008
25 juin 2006 à 22:11
oki, je vois oui, deja bien ;-)
bigbourin Messages postés 64 Date d'inscription lundi 12 avril 2004 Statut Membre Dernière intervention 18 août 2006
25 juin 2006 à 22:00
en fait sa gere pas les erreur de transfert, sa detecte juste si la connection est coupé, mais si jamais un packet est raté, tout est decalé est c'est la merde XD. en fait je detecte seulement si le packet est pas complet (en fonction du buffer préalablement transféré) et je vérie aussi si le transfert se termine avant la fin du fichier mais c'est tout, ya pas de vré systemme de detection des erreurs.
MuPuF Messages postés 536 Date d'inscription mercredi 27 avril 2005 Statut Membre Dernière intervention 22 août 2008
25 juin 2006 à 21:43
je comprends pas comment tu peux gerer les erreurs de transfert et pas la reprise de dl lol
quand tu parles de cette gestion, c'est celle interne à winsock ?
bigbourin Messages postés 64 Date d'inscription lundi 12 avril 2004 Statut Membre Dernière intervention 18 août 2006
25 juin 2006 à 21:34
ya pas de table de hash ^^, et les erreur de transfert sont géré (plus ou moins). et la reprise d'envoi n'est pas géré non. C'est simple a faire mais je l'ait pas fait XD
MuPuF Messages postés 536 Date d'inscription mercredi 27 avril 2005 Statut Membre Dernière intervention 22 août 2008
25 juin 2006 à 21:09
lol, je parlais des erreurs de transferts, des tables de hash etc ...
Et il supporte la reprise d'envois ?
bigbourin Messages postés 64 Date d'inscription lundi 12 avril 2004 Statut Membre Dernière intervention 18 août 2006
25 juin 2006 à 19:50
bin ya un petit protocole oui qui transmet au debut les info (taille du fichier, buffer, nom du fichier) et les erreures sont géré oui, il y a des boites de messages avec les erreu, des boites de confirmation, etc ...
MuPuF Messages postés 536 Date d'inscription mercredi 27 avril 2005 Statut Membre Dernière intervention 22 août 2008
23 juin 2006 à 20:06
salut, je fais aussi un programme du style, pour l'instant entierrement sous windows, FileSender il s'appelle (mon dieu que c'est original lol).
J'aimerai savoir si tu as coder un protocole pour le transfert, si tu as fais une gestion d'erreur etc ?
bigbourin Messages postés 64 Date d'inscription lundi 12 avril 2004 Statut Membre Dernière intervention 18 août 2006
23 juin 2006 à 17:51
Ha ok, bin c'est purement pour la lisibilité du code, (avec la tabulation automatique)
cs_neria Messages postés 319 Date d'inscription vendredi 21 février 2003 Statut Membre Dernière intervention 16 février 2009
23 juin 2006 à 08:39
Non je parle des blocs crées à la ligne 120 :
// Creation de la fenetre
{
gtk_container_add(GTK_CONTAINER(handles.fenetre),handles.vertical_box);

// Ajout de la bare de status
gtk_box_pack_end(GTK_BOX(handles.vertical_box),handles.status_bar,FALSE,FALSE,0);
set_status(UP_STATUS);

{
// onglet Emission //
Je ne vois pas l'utilité de créer des blocs alors que les opératons sont liées.
bigbourin Messages postés 64 Date d'inscription lundi 12 avril 2004 Statut Membre Dernière intervention 18 août 2006
22 juin 2006 à 12:57
Tu parle de la structure qui contien les GtkWidget ?, c'est pour pouvoir y avoir acces plus facilement dans les callback que je les déclarent globalement, et la structure sert simplement a ce que le code soit plus clair.

Et pour les plusieurs fichier, c'est vré que sa serait plus clair, mais j'ais commencer comme ca j'ais la flemme de découper XD
cs_neria Messages postés 319 Date d'inscription vendredi 21 février 2003 Statut Membre Dernière intervention 16 février 2009
22 juin 2006 à 11:45
J'ai juste une question : pourquoi tu crée un nouveau bloc pour la création/initialisation de l'interface ?
Sinon je te conseille de séparer ton code en plusieurs fichiers : l'interface, les fonctions callback et le code des autres fonctions (chaque fichier peut lui même être séparé en plusieurs fichiers).
luhtor Messages postés 2023 Date d'inscription mardi 24 septembre 2002 Statut Membre Dernière intervention 28 juillet 2008 6
21 juin 2006 à 23:10
Oui :) mais opengl dans gtk ca fonctionne pas trop mal aussi :)
bigbourin Messages postés 64 Date d'inscription lundi 12 avril 2004 Statut Membre Dernière intervention 18 août 2006
21 juin 2006 à 19:05
ouais je me doute mais c'est mon prog gtk ^^, je verrai si je fait des plus gros projet avec GUI (pour l'instant je suis plus curses ou opengl)
luhtor Messages postés 2023 Date d'inscription mardi 24 septembre 2002 Statut Membre Dernière intervention 28 juillet 2008 6
21 juin 2006 à 18:45
Mais tu peux mettre les noms que tu veux. Et tkt, tant que tu fais des petits programmes ca ira. Mais si tu as des interfaces assez complèxes a faire, c'est meme pas la peine a la main.
bigbourin Messages postés 64 Date d'inscription lundi 12 avril 2004 Statut Membre Dernière intervention 18 août 2006
21 juin 2006 à 18:41
Par contre oui, si le firewall intervient, la GUI freeze, et j'ai remarqué aussi ca lord d'une d'un connection sur un pote a moi, avec un routeur bizard qui redirige les port sans IP XD, et le socket c'est ouvert mais le transfert s'est bloqué, pour ca il faudrait que je mettre en place un timout mais je sais pas trop comment faire. La meilleur solution serait de forker le processus pour avoir en parallele le transfert et l'interface, mais je manipule pas ca encore donc...
bigbourin Messages postés 64 Date d'inscription lundi 12 avril 2004 Statut Membre Dernière intervention 18 août 2006
21 juin 2006 à 18:38
Ha oui j'ais un pote qui m'a parlé de ca mais il m'avait pas dit le nom. oui c'est vré que c'est pratique mais perso je prefere coder a la main, au moins j'utilise les variables que je veut , je peut mettre des nom explicites, les déclarer dans des structures ou des class, c'est pour ca que j'utilise pas ce genre de prog. et pour ce qui est du freeze lors du déplacement, sous windows peut etre mais pas sous linux ^^, en tout cas moi sa rafraichi entierement normalement meme en plein deplacement.
luhtor Messages postés 2023 Date d'inscription mardi 24 septembre 2002 Statut Membre Dernière intervention 28 juillet 2008 6
21 juin 2006 à 16:10
Ah oui a propos de Glade, c'est indispensable pour faire ton interface, t'imagine quand meme pas programmer une interface complexe a la main... Disons qu'avec glade, tu cliques sur un bouton, tu le fou ou tu veux. Tout est à la souris. Après tu cliques sur Générer code source, et t'as plus qu'à coller ca dans ton programme. C'est ultime.
luhtor Messages postés 2023 Date d'inscription mardi 24 septembre 2002 Statut Membre Dernière intervention 28 juillet 2008 6
21 juin 2006 à 16:08
OUe mais imagine, le firewall intervient, ta GUI est bloqué. Ou imagine, pendant que tu déplaces la fenetre, le transfert s'arrete non ?
bigbourin Messages postés 64 Date d'inscription lundi 12 avril 2004 Statut Membre Dernière intervention 18 août 2006
21 juin 2006 à 14:22
Le refresh des barres se fait entre chaque packet oui, le systeme pour envoyer plusieur est prévu pour les prochaines versions ^^, avec meme une compression pour optimiser le transfert.

nan je ne connait pas glade, c'est bien ?
luhtor Messages postés 2023 Date d'inscription mardi 24 septembre 2002 Statut Membre Dernière intervention 28 juillet 2008 6
21 juin 2006 à 13:21
Un seul fichier pour l'ensemble, ca fait peur :)
Une question: Le refresh des barres de progression, tu le gères comment ? A chaque paquet envoyé/émis ?

T'as plus qu'à faire un systeme pour pouvoir envoyer plusieurs fichiers en meme temps, et la en gtk, ca va se compliquer un peu :).

PS: t'as deja essayé glade pour faire tes interfaces ?
Rejoignez-nous