NuGuN Posted December 9, 2006 at 07:22 PM Report #69798 Posted December 9, 2006 at 07:22 PM Bem... estou a tentar trabalhar com sockets em C++, mas como ainda estou um pouco verde em C++ não estou a ter grande sucesso... Gostava que me indicassem uma boa library de sockets para C++, um site que voces achem bom para eu aprender a trabalhar com essa library porque como eu não sei trabalhar com isso não sei distinguir os bons dos maus... 😄 . Andei à procura no google e encontrei várias cenas - Link - E estive a tentar seguir um mini tutu que encontreii, mais especificamente, este. O problema é que ele está-me sempre a pedir ficheiros em falta... e eu não se se os tenho mesmo de colocar à mão ou se existe alguma forma de fazer isso automaticamente... Resumindo, gostava que me orientassem nesta matéria dos Sockets! Cumps
Rui Carlos Posted December 9, 2006 at 08:09 PM Report #69802 Posted December 9, 2006 at 08:09 PM E estive a tentar seguir um mini tutu que encontreii, mais especificamente, este. O problema é que ele está-me sempre a pedir ficheiros em falta... tem no fim das página link para fazer download de alguns ficheiro, não serão esse que estão a faltar? Rui Carlos Gonçalves
NuGuN Posted December 9, 2006 at 08:12 PM Author Report #69803 Posted December 9, 2006 at 08:12 PM E estive a tentar seguir um mini tutu que encontreii, mais especificamente, este. O problema é que ele está-me sempre a pedir ficheiros em falta... tem no fim das página link para fazer download de alguns ficheiro, não serão esse que estão a faltar? Mas depois desses ainda me pede outros que fazem falta ao socket.h se não estou em erro. Tem de se fazer o download dos ficheiros um a um ou existe tipo um pack ou qualquer coisa do genero? Ou talvez eu esteja a fazer isto mal.... O que estou a fazer é: Faço o download dos ficheiros, por exemplo o ServerSocket.h e meto-o na pasta ...\Include do directório do Dev C++, não sei se é assim que se faz.. ? Já agora... estou a utilizar o Dev C++ Cumps
Rui Carlos Posted December 9, 2006 at 09:05 PM Report #69805 Posted December 9, 2006 at 09:05 PM como está a usar aspas ("...") no include metes os .h na mesma pasta que os ficheiros que estás a desenolver. ao que parece o tutorial foi feito em Unix, por isso pode ser que não funcione em Windows. Rui Carlos Gonçalves
NuGuN Posted December 9, 2006 at 09:19 PM Author Report #69808 Posted December 9, 2006 at 09:19 PM hhhmmm, talvez seja esse o problema. E alguem trabalha com sockets que me possa explicar que librarys utiliza e como trabalhar com elas? Ainda não consegui fazer nada com isto.... Cumps
TheDark Posted December 10, 2006 at 02:34 AM Report #69862 Posted December 10, 2006 at 02:34 AM Esse tutorial é baseado em Linux, e tanto quanto sei os mecanismos de sockets de sistemas operativos *nix não são compatíveis com Windows. Se estiver correcto, tens que procurar tutoriais de Winsock. Desaparecido.
NuGuN Posted December 10, 2006 at 06:29 PM Author Report #69965 Posted December 10, 2006 at 06:29 PM Obrigado pessoal! O problema era mesmo esse ?. Como isto é para um projecto que estou a começar a desenvolver e inclui um servidor vou mesmo ficar pelos socket's em *nix 😛 Já consegui meter isso a funcionar, mas antes de conseguir surjio um problema que já resolvi mas que gostava de saber porque estava a dar erro, era o seguinte: Quando estava a compilar dava-me o seguinte erro: g++ -c -o simple_server_main.o simple_server_main.cppsimple_server_main.cpp: In function ‘int main(int, int*)’: simple_server_main.cpp:7: error: ‘cout’ is not a member of ‘std’ simple_server_main.cpp:35: error: ‘cout’ is not a member of ‘std’ make: *** [simple_server_main.o] Error 1 Podem ver o código fonte desse ficheiro aqui O que eu fiz foi incluir a iostream.h e apaguei a parte -> std:: - ficando apenas o cout <<...... De qualquer forma gostava de saber o que ai estava mal... Já agora, também encontrei mais uns links interessantes para quem também quiser começar nisto dos Soket's. Link_1 Link_2 Obrigado pela ajuda 🙂 P.S. - Alguem que trabalhe com Socket's em C++ que me diga qual a library que utiliza? Cumps
shumy Posted December 10, 2006 at 06:40 PM Report #69971 Posted December 10, 2006 at 06:40 PM iostream.h já é c++ standart antigo, ou podemos dizer que já não é standart. Correctamente deve-se utilizar "#include <iostream>" com "using namespace std;" Também é necessário que tenhas essa STL. As bibliotecas *.h penso que não têm namespaces. Aqui há coisa de 2 anos fazia umas malhas de croché, depois fartei-me e fui para informática!
NuGuN Posted December 10, 2006 at 06:44 PM Author Report #69972 Posted December 10, 2006 at 06:44 PM Qual é a diferença entre #include <iostream.h> e #include <iostream>? E para que serve o "using namespace std;"? Estive a fazer um pequeno programa com isso e sem isso e não noto diferença. Cumps
shumy Posted December 10, 2006 at 06:52 PM Report #69973 Posted December 10, 2006 at 06:52 PM Com h sem h, não sei muito bem a diferença. É nova norma sem h. Os gajos que fazem a norma C++ andaram a mecher nessas coisa, penso que a organizar melhor as classes entre outras melhorias, e ficaram com esta nova norma que tem namespaces. Ora, os namespaces são essencialmente uteis por uma questão de organização e de evitar "Name-Clashes", choques entrenomes iguais. Por exemplo, se estiveres em um grupo de programadores em que cada um trabalha com namespaces diferentes, quando juntarem código não têm de se preocupar se deram nomes iguais a classes. Se as classes estão em namespaces diferentes são diferentes mesmo que tenham o mesmo nome. Aqui há coisa de 2 anos fazia umas malhas de croché, depois fartei-me e fui para informática!
NuGuN Posted December 10, 2006 at 06:54 PM Author Report #69975 Posted December 10, 2006 at 06:54 PM hhhmm, já estou +/- a ver 🙂 Obrigado Cumps
Rui Carlos Posted December 10, 2006 at 10:29 PM Report #70012 Posted December 10, 2006 at 10:29 PM quanto à diferença entre ter 'h' ou não, penso que as bibliotecas do C++ é sem 'h' e as do C é com 'h'. Rui Carlos Gonçalves
NuGuN Posted December 11, 2006 at 07:43 PM Author Report #70177 Posted December 11, 2006 at 07:43 PM Bem.. para tirar esta quetão a limpo decidi fazer uma pequisa no google sobre o assunto e parece que ainda fiqui com mais dúvidas... Encontrei este link, mas não percebi bem... por exemplo, neste bocado aqui: KRYUKOV:> > And the main difference between #include <something.h> and > #include <something> is that the former puts all the declarations in > global scope. Mete o quê num global scope. Já agora o que é um global scope, assim muito resumidamente? Depois também não percebi isto: No. There are C headers and there are C++ headers. When you #include a Cheader you get the C header. When you #include a header whose name is the letter 'c' followed by the name of a C header without the .h you get the C++ version of that header. When you #include a standard header whose name has no extension you're getting a purely C++ header. #include <string.h> /* pulls in the C header 'string.h' */ #include <cstring> /* pulls in the C++ version of the C header 'string.h' */ #include <string> /* pulls in the C header 'string' */ Aqui confirma-se o que o Rui Carlos disse, mas essa parte do "c" no inicio do nome esta-me a fazer confusão ?. Então se tiver apenas #include <string> já não é de C++? Então e no caso da iostream? Não tem o "c" no inicio e no entanto (se não estou a dar barraca) é de C++. Cumps
Rui Carlos Posted December 11, 2006 at 07:48 PM Report #70179 Posted December 11, 2006 at 07:48 PM é assim, quando uso uma biblioteca como a stdio, como é uma biblioteca do C, coloco o 'h', quando uso uma biblioteca como a iostream, como é uma biblioteca do C++, uso sem o 'h'. penso que só com as bibliotecas do C++ é que podemos retirar o 'h'. Rui Carlos Gonçalves
NuGuN Posted December 12, 2006 at 07:57 PM Author Report #70333 Posted December 12, 2006 at 07:57 PM Obrigado pela ajuda 😉 Cumps
Rui Carlos Posted December 13, 2006 at 02:59 PM Report #70426 Posted December 13, 2006 at 02:59 PM encontrei isto na net: http://beej.us/guide/bgnet/ é capaz de ter dar jeito... Rui Carlos Gonçalves
NuGuN Posted December 13, 2006 at 05:54 PM Author Report #70456 Posted December 13, 2006 at 05:54 PM À maneira mesmo 😉 Obrigadão 😉 Cumps
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now