Tu commet aussi une ambiguïté de variables avec adress en paramètre et en array ligne 1.
Bizard que gcc ne gueule pas as-tu activé des options permissives de gcc ? Normalement "adress[15] shadows a parameter".
Pareil pour
Code C/C++ :
Génère une erreur.. c'est vrai que ça choque un peut. Tu ne donne pas comme ça des valeurs dans une class (la struct en est une). Si tu veux initialiser tes variables passe par le constructeur et déclare le tout en une class et de préférence pas dans une autre fonction

.
En plus
Code C/C++ :
est en fait un
Code C/C++ :
donc pense a ne pas l'utiliser comme une chaîne ça peut être dangereux
Comme l'a souligné CptPingu, if(port = 65154); C'est une erreur. Là il donne la valeur 65215 à port et vérifie si ça de fait pas 0 (forcément que non). L'opérateur de comparaison c'est == .
Ca fait déjà un packet de problèmes et tu devrais vérifier les retours de connect, send, recv .. (pas printf

).
Et
Code C/C++ :
c'est un char pas une chaine ... bref j'ai du mal a comprendre comment tu as pu le compiler
