Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1002 connectés 

  FORUM HardWare.fr
  Programmation

  [Kylix] Creation de socket.....

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Kylix] Creation de socket.....

n°95752
lpoziggy
Posté le 01-02-2002 à 13:46:31  profilanswer
 

Salut,
g un ptit probleme:
je dois realiser une application client serveur avec des sockets.
Je sais les faire en C mais pas vraiment en pascal!
 
ex:
 
  var sockfd, longueur_adr : integer;
      adresse : struct sockaddr_un   <-- c ici ke sa plante!!
begin
 
  sockfd := socket (AF_UNIX,SOCK_STREAM, 0);
  adresse.sun_family = AF_UNIX;
  .
.
.
.
.
.
end.
 
Si qq1 a une soluce ca serait cool!!

mood
Publicité
Posté le 01-02-2002 à 13:46:31  profilanswer
 

n°95753
The Real M​ask
Mr MAsk Is in ME
Posté le 01-02-2002 à 13:50:10  profilanswer
 

format c:  
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 :ouch: aucune id juste un petit up :) [:the real mask]

n°95760
lpoziggy
Posté le 01-02-2002 à 14:28:12  profilanswer
 

haha megalol!!
en C, il faut rajouter les includes sys/types.h, sys/socket.h, sys/un.h
 
Mais avec kylix je sais pas koi ajouter!!
 :cry:  :cry:

n°95764
antp
Super Administrateur
Champion des excuses bidons
Posté le 01-02-2002 à 14:44:22  profilanswer
 

c'est du pascal, pas du C
en pascal y a pas de struct
vu que sockaddr_in est définir comme ceci:
 

Code :
  1. sockaddr_in = record
  2.   case Integer of
  3.     0: (sin_family: u_short;
  4.         sin_port: u_short;
  5.         sin_addr: TInAddr;
  6.         sin_zero: array[0..7] of Char);
  7.         sa_family: u_short;
  8.         sa_data: array[0..13] of Char) end;
  9.         WSAData=recordwVersion: Word;
  10.         wHighVersion: Word;
  11.         szDescription: array[0..WSADESCRIPTION_LEN] of Char;
  12.         szSystemStatus: array[0..WSASYS_STATUS_LEN] of Char;
  13.         iMaxSockets: Word;
  14.         iMaxUdpDg: Word;
  15.         lpVendorInfo: PChar;);
  16.   end;


 
en marquant ceci ça doit passer :
 

Code :
  1. addresse: sockaddr_in;


 
sous Delphi faut rajouter IdWinsock dans les uses, c pareil pour kylix je pense...

 

[edtdd]--Message édité par antp--[/edtdd]


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°95765
gaetan7
et mon cul, c'est du poulet?
Posté le 01-02-2002 à 14:52:11  profilanswer
 

sinon, tu vas boire une bonne bière en pensant au ski que tu feras dem1

n°95766
gaetan7
et mon cul, c'est du poulet?
Posté le 01-02-2002 à 14:59:23  profilanswer
 

heuu.... ok merci!
mais sous linux ce serait pas plutot sockaddr_un avec un u au lieu du i  ???

n°95769
lpoziggy
Posté le 01-02-2002 à 15:14:23  profilanswer
 

Desolé Gaetan mais g pris ton pseudo pour le post d'avant!!
Donc je voulais dire que je suis sous linux et kylix ne reconnais pas idwinsock --> ce ki me parait normal puiskil y a win dedans!!
mais c sympa de maider antp!!
 :sweat:

n°95781
lpoziggy
Posté le 01-02-2002 à 15:49:55  profilanswer
 

up

n°95783
antp
Super Administrateur
Champion des excuses bidons
Posté le 01-02-2002 à 15:59:32  profilanswer
 

bhen cherche dans l'aide dans quoi est déclaré sockaddr_in (ou un truc du genre, c'est quoi ça _un ? même sous linux j'ai tj utilisé _in)


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°95785
lpoziggy
Posté le 01-02-2002 à 16:04:06  profilanswer
 

ben c u comme unix!!
ou alors i comme inet!
ok jvé voir mais sa commence a menerver
en plus demain c les vacances et moi je pars o ski!!

mood
Publicité
Posté le 01-02-2002 à 16:04:06  profilanswer
 

n°95790
antp
Super Administrateur
Champion des excuses bidons
Posté le 01-02-2002 à 16:06:44  profilanswer
 

ha bon...
 
dans kylix y a une unit "libc" que tu peux peut-être aller voir...


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°95811
lpoziggy
Posté le 01-02-2002 à 16:56:00  profilanswer
 

ouep, sa marche kan je mets libc dans uses!!!
sa rulez du tonnerre!!
maintenant jvé voir pour u ou i!!
:D

n°98630
lpoziggy
Posté le 10-02-2002 à 15:24:25  profilanswer
 

Yop, chui rentre du ski!
encore une semaine de vacances avant de revenir a ces pt1 de socket!!

n°98723
lpoziggy
Posté le 10-02-2002 à 20:56:06  profilanswer
 

up

n°98749
antp
Super Administrateur
Champion des excuses bidons
Posté le 10-02-2002 à 22:30:50  profilanswer
 

up ? c'est pas résolu ?


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°98876
lpoziggy
Posté le 11-02-2002 à 14:18:29  profilanswer
 

sisi mais g envies de continuer a debattre sur ce sujet!!

n°99091
lpoziggy
Posté le 11-02-2002 à 21:58:38  profilanswer
 

up, qq1 veut en discuter??
 :??:

n°99938
lpoziggy
Posté le 13-02-2002 à 15:25:21  profilanswer
 

bon ben si qq1 a une idee sur un sujet qqonque, il n'a ka poster ici!!

n°103163
lpoziggy
Posté le 21-02-2002 à 14:12:12  profilanswer
 

G encore un probleme:
c'est lors de la connection au serveur, en C sa donne :
 
int resultat = connect(sockfd, (struct sockaddr *)&adresse, longueur_adr);
 
Comme je suis sous linux en pascal, le compilateur ne capte pas le truc en gras!!
 :gun:

n°103179
rellikk
je t&#039;aime pas toi!
Posté le 21-02-2002 à 14:55:26  profilanswer
 

lpoziggy a écrit a écrit :

Salut,
g un ptit probleme:
je dois realiser une application client serveur avec des sockets.
Je sais les faire en C mais pas vraiment en pascal!
 
ex:
 
  var sockfd, longueur_adr : integer;
      adresse : struct sockaddr_un   <-- c ici ke sa plante!!
begin
 
  sockfd := socket (AF_UNIX,SOCK_STREAM, 0);
  adresse.sun_family = AF_UNIX;
  .
.
.
.
.
.
end.
 
Si qq1 a une soluce ca serait cool!!  



n°103185
gaetan7
et mon cul, c'est du poulet?
Posté le 21-02-2002 à 15:00:58  profilanswer
 

lpoziggy a écrit a écrit :

G encore un probleme:
c'est lors de la connection au serveur, en C sa donne :
 
int resultat = connect(sockfd, (struct sockaddr *)&adresse, longueur_adr);
 
Comme je suis sous linux en pascal, le compilateur ne capte pas le truc en gras!!
 :gun:  




de toutes façons pascal c kun enculé de vieux

n°103205
lpoziggy
Posté le 21-02-2002 à 15:18:29  profilanswer
 

nan, serieux, je dois ecrire koi,,?

n°103241
antp
Super Administrateur
Champion des excuses bidons
Posté le 21-02-2002 à 16:11:09  profilanswer
 

sockaddr_in(@adresse)^
ou un truc du genre
 
& -> @
* -> ^


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°103250
lpoziggy
Posté le 21-02-2002 à 16:27:46  profilanswer
 

Donc je devrai ecrire:
connect(sockfd, sockaddr(@adresse)^, longueur_adr)???

n°103259
antp
Super Administrateur
Champion des excuses bidons
Posté le 21-02-2002 à 16:41:50  profilanswer
 

un truc du genre, faut tester jusqu'à ce que ça passe, ou trouver quelqu'un qui est habitué à utiliser les pointeurs en pascal :D
la déclaration de la fonction connect, ca ressemble à quoi ?
et la declaration de adresse ?


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°103265
lpoziggy
Posté le 21-02-2002 à 16:57:33  profilanswer
 

Ben en fait, Nibblet et moi on est les 2 seuls gars qui sommes sur Kylix!!!  :cry:  :cry:  
 
Fonction connect:
int connect(int sockfd, struct sockaddr *serveuraddr, int longueur_addr)
 
sockfd est le descripteur de socket  
serveuraddr est un pointeur sur une structure d'addresse de socket ki indike ladresse de destination avec lakelle le socket doit se connecter
longueur_addr est la taille de la structure d'adresse
 
 :cry:  :cry:

n°103290
antp
Super Administrateur
Champion des excuses bidons
Posté le 21-02-2002 à 17:47:36  profilanswer
 

ouais mais ça c'est la déclaration en C de la fonction... y a bien une déclaration en Pascal quelque part...


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°103547
lpoziggy
Posté le 22-02-2002 à 13:31:40  profilanswer
 

Ouais je sais que c la declaration en C, mais je dois me démerder a ecrire tout ce bordel en pascal!!
Il ny a aucune autre aide que ce forum!!
 :gun:

n°103585
lpoziggy
Posté le 22-02-2002 à 14:38:08  profilanswer
 

G trouvé un truc :
 
var
adresse : sockaddr_in;
resultat, longueur_adr : integer;
hostname : hostent;
const
host : string = 'adresse ip du serveur';
 
sockfd := socket(AF_INET, SOCK_STREAM, 0);
 
hostname := gethostbyname(host);
adresse.sin_family := AF_INET;
adresse.sin_port := 9734;
adresse.sin_addr := inet_addr(hostname);
.
.
.et apres la connexion!!
.
 
Mais c là ou c'est en gras ke sa plante!!
Il faut mettre un pointeur qq part!!

n°103688
antp
Super Administrateur
Champion des excuses bidons
Posté le 22-02-2002 à 15:55:57  profilanswer
 

peut-être gethostbyname(PChar(host)); si jamais la fonction s'attend à avoir un pointeur de chaîne de caractère style C.


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  [Kylix] Creation de socket.....

 

Sujets relatifs
[HTML] Site d'aide à la création de page WEB pour débutant[C++] Comment savoir si un client et toujours connecté à un socket ?
[perl/php] création d'index ??[Delphi 6] création de composant... contenant une image...
[VB] probleme de socket[VB6+Access] conserver les 0 pour la creation d'un identifiant
[VB] [DLL] Création d'une fenetrecréation et utilisation de bibliothèques avec VC++ ou C++ Builder
Gestion de port COM sous linux avec kylix.....[Delphi 6] creation de composants, pb avec 1 propriété.
Plus de sujets relatifs à : [Kylix] Creation de socket.....


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)