Serveur de socket : JAVA ou PHP ?

Salut,

Dans un ou 2 mois je vais commencer à programmer un serveur de socket, multithread et tout et tout, pour un RPG notamment (client en flash).
Seulement j’hésite entre l’utilisation du PHP (en ligne de commande donc) ou bien du JAVA.

Savez-vous lequel des 2 seraient le plus performant pour ça ? Merci.

P.S: Je sais qu’il y a d’autres points à prendre en compte et c’est fait. Il ne reste plus que la performance …

Je suppose que point de vue performance le java est pas au top. Je bosse en ce moment sur un client/serveur java en sockets et c’est pas la grosse fête. En LAN pour me connecter il me faut bien 3 ou 4 secondes (ce qui est super lourd quand tu testes beaucoup). J’avais fait des recherches sur ce point justement (je comprenais pas que ça prenne tant de temps) et j’avais lu je ne sais plus où que oui, c’était normal, c’était la faute au java et tout et tout.

Donc moi j’irai plutôt dans le sens du php, clairement. S’il y a de la charge et que la performance est ton souci n°1.

Après j’y connais vraiment pas grand chose.

Et bien ça c’est de la réponse rapide :stuck_out_tongue:

Merci.

Personellement, je préfère je JAVA. C’est beaucoup plus facile a manipuler que le PHP, et plus sécurisé aussi. Moi quand j’ai codé mon projet, la connexion ne prenait pas 3 à 4 secondes… C’était du quasi instantané. Du moins, sur la version 4.2 de JAVA, peut etre que la version 5.0 apporte de la rapidité ?

Plus sécurisé ? Pourquoi tu dis ça ?

[quote name=‘LeGzo’ date=’ 11 Jul 2005, 12:06’]Je suppose que point de vue performance le java est pas au top. Je bosse en ce moment sur un client/serveur java en sockets et c’est pas la grosse fête. En LAN pour me connecter il me faut bien 3 ou 4 secondes (ce qui est super lourd quand tu testes beaucoup). J’avais fait des recherches sur ce point justement (je comprenais pas que ça prenne tant de temps) et j’avais lu je ne sais plus où que oui, c’était normal, c’était la faute au java et tout et tout.

Donc moi j’irai plutôt dans le sens du php, clairement. S’il y a de la charge et que la performance est ton souci n°1.

Après j’y connais vraiment pas grand chose.
[right][post=“376295”]<{POST_SNAPBACK}>[/post][/right][/quote]

Attention, c’est totalement faux, l’argument, “Java c’est lourd et lent” était encore correct il y a 5 ans avec Java 1.2, mais depuis la version 1.4 et maintenant 5.0, Java est beaucoup plus rapide et réactif.
Les 3 ou 4 secondes sont du à un problème dans ton programme. Java est quand même beaucoup utilisé dans le entreprise pour de gros logiciels et je ne vois aucune entreprise se permette d’attendre 3 à 4 secondes entre chaque requête.

En plus Java se base sur une JVM alors que PHP est un langage interprété donc il n’y a pas de doute Java est plus rapide que PHP. Et puis Java est quand même plus conseillé pour ce genre de programme que PHP.

Oui je me suis peut etre laissé emporté :P.

Attention, j’ai pas dit ça, j’ai parlé de la connexion sur socket uniquement.

A nouveau ce n’est pas ce que j’ai dit: j’ai dit qu’à la connexion il me fallait 3s minimum, pas ensuite sur chaque echange de données.

Sinon je n’ai pas retrouvé le post de developpez.com où un mec en parlait (un rédacteur, pas un script kiddie), donc…

En tout cas, suit plutôt les conseils de ZGoblin que les miens, clairement :stuck_out_tongue:

Socket lent en java ? On avait codé un début d’émulateur wow pour nous entrainer à la prog réseau sous java et la connection était instantannée malgrès le fait que ce soit loin d’être optimisé et que la machinerie derrière était bien lourde.
PHP ne devrait jamais être utilisé pour autre chose que pour de la prog web. C’est pas fait pour. Java est maintenant très mature et les personnes critiquant sa vitesse sont restés sur leur impression des premières versions. Evidemment ça sera jamais aussi rapide que du natif mais tellement plus pratique.

[quote name=‹ Nicjac › date=’ 11 Jul 2005, 12:51’]Socket lent en java ? On avait codé un début d’émulateur wow pour nous entrainer à la  prog réseau sous java et la connection était instantannée malgrès le fait que ce soit loin d’être optimisé et que la machinerie derrière était bien lourde.
PHP ne devrait jamais être utilisé pour autre chose que pour de la prog web. C’est pas fait pour. Java est maintenant très mature et les personnes critiquant sa vitesse sont restés sur leur impression des premières versions. Evidemment ça sera jamais aussi rapide que du natif mais tellement plus pratique.
[right][post=« 376348 »]<{POST_SNAPBACK}>[/post][/right][/quote]
J’en déduis que mon code est moisi? Pourtant j’avais calqué sur les tutos Sun… ou alors c’est ma machine distante qui est surmenée. Bon bin je repars regarder ça alors :stuck_out_tongue:

[quote name=‹ LeGzo › date=’ 11 Jul 2005, 13:55’]J’en déduis que mon code est moisi? Pourtant j’avais calqué sur les tutos Sun… ou alors c’est ma machine distante qui est surmenée. Bon bin je repars regarder ça alors  :stuck_out_tongue:
[right][post=« 376350 »]<{POST_SNAPBACK}>[/post][/right][/quote]

Si tu as besoin d’aide pour trouver d’où vient le problème n’hésite pas, car 3 secondes pour se connecté un prog réseau « simple », c’est vraiment énorme. Le serveur HTTP que j’avais programmé en IUT fonctionnait impécablement et répondait très vite.
Tu as bien mis des flush() ou il fallait ?

Performant? JAVA? PHP? euh c’est quasiment antinomique ca :P.

Si vraiment pas le choix, c’est JAVA, mais si tu peux encore choisir, prends du C#: facile a programmer, et bien plus performant que le java.

Ca c’est toi qui le dis.

Pour le C#, c’est hors de question (je préfère encore fait du C), mais merci quand même.

Bon et bien je vais utiliser le Java, merci tout le monde.

[quote name=‹ ZGoblin › date=’ 11 Jul 2005, 13:12’]Si tu as besoin d’aide pour trouver d’où vient le problème n’hésite pas, car 3 secondes pour se connecté un prog réseau « simple », c’est vraiment énorme. Le serveur HTTP que j’avais programmé en IUT fonctionnait impécablement et répondait très vite.
Tu as bien mis des flush() ou il fallait ?
[right][post=« 376360 »]<{POST_SNAPBACK}>[/post][/right][/quote]
check your pms :stuck_out_tongue:
t’aurais jamais du te proposer héhé

[quote name=’[PERE]Cil’ date=’ 11 Jul 2005, 13:27’]Si vraiment pas le choix, c’est JAVA, mais si tu peux encore choisir, prends du C#: facile a programmer, et bien plus performant que le java.
[right][post=“376365”]<{POST_SNAPBACK}>[/post][/right][/quote]

A quel point de vue ? Ça m’intéresserait d’avoir des infos sur les mérites comparés de Java et C# (si çe ne dévie pas trop du sujet initial), genre des retours d’expérience ce serait le top.

On ne va pas commencé à troller avec du Java vs .NET vs C vs lemonde.

la question c’est : php, java, qu’est ce qui correspond le mieux pour mon projet.

J’ai essayé de répondre le plus objectivement sans troller sur PHP car je suis un gros fanboy java.

En tout cas, si ca continue à troller avec du C ou du .NET, c’est décidé, j’enfile ma tenue troll des bois et je viens squatter dans tous vos thread .NET. Je vous aurais prévenu :stuck_out_tongue:

Bah j’espérais qu’on aurait pu en parler sans troller, mais effectivement ce n’est peut-être pas le bon thread. Je vais peut-être en ouvrir un autre sur ce sujet, parce que j’aimerais quand même avoir quelques infos sur le sujet.

Une question bonus : c’est possible de faire l’administration de ce serveur (en JAVA donc) via des pages JSP (ou autre) ?

Par exemple créer une salle, kiker un utilisateur, …

Merci.

[quote name=‘nic58’ date=’ 11 Jul 2005, 16:52’]Une question bonus : c’est possible de faire l’administration de ce serveur (en JAVA donc) via des pages JSP (ou autre) ?

Par exemple créer une salle, kiker un utilisateur, …

Merci.
[right][post=“376420”]<{POST_SNAPBACK}>[/post][/right][/quote]

Oui, et +1 pour Java. php, niveau performance, bof bof, on en revient.

Sinon si tu cherches une solution alternative à php tout en restant simple, je ne peux que te recommander Python, qui a une syntaxe simple, orienté objet, rapide (le fameux programme P2P Bittorrent tourne sous Python, ainsi que le serveur de gestion de contenu Zope). Java est quand même assez complexe à mettre en place.

[quote name=‘nic58’ date=’ 11 Jul 2005, 16:52’]Une question bonus : c’est possible de faire l’administration de ce serveur (en JAVA donc) via des pages JSP (ou autre) ?

Par exemple créer une salle, kiker un utilisateur, …

Merci.
[right][post=“376420”]<{POST_SNAPBACK}>[/post][/right][/quote]

Oui tout à fait faisable, c’est même une bonne idée. Mais bon faut savoir que c’est quand même un gros boulot. J’espère que tu mesures la difficulté.