- SOCKET
+ Responder ao Tópico
-
SOCKET
ESTOU IMPLEMENTANDO UM TFTP EM C
JA FIZ CLIENTE E SERVER MAS NAO FAÇO A MININA IDEIA D COMO ENVIO O ARQUIVO ATRAVES DO SOCKET OU ATE MESMO TRABALHAR COM ARQUIVO EM CSEGUE O FONTE DO CLIENTE
/* IMPLEMENTANDO TFTP
RAFA
*/
#include <stdio.h>
#include <winsock.h> //Biblioteca para se programar em sockets
#include <windows.h>
#include <stdio.h>
#include <string.h>
int main(){
int conecta;
SOCKET sock; //declaramos no socket como sendo uma variável inteira
struct sockaddr_in serve; /*declaramos que o alvo é uma variável de structure sockaddr_in.
Vamos ver isso mais a frente*/
WSADATA wsaData;
WSAStartup(MAKEWORD(1, 1), &wsaData);
/*estas duas linhas fazem o windows entender que é para iniciar a dll e ocx responsável por comunicação na
internet. Todo o programa de socket deve conter essas linhas. Mais a frente vamos ver isso melhor*/
if ((sock=socket(AF_INET,SOCK_DGRAM, 17))<0) /*declaração do socket que é da seguinte forma:
socket(família, tipo do protocolo, número do protocolo);*/
{ fprintf(stderr,"O socket não pode ser criado !\n");
getch();
exit(1);
}
memset(&(serve),0,sizeof(serve) );//zera a estrutura(serve) e copia na memória(memset)
serve.sin_family=AF_INET; //Família que usaremos para conectar no alvo
serve.sin_port=htons(69); //porta que conectaremos
serve.sin_addr.s_addr=inet_addr("127.0.0.1"); //localhost
conecta=connect(sock, (struct serve *)&serve, sizeof(serve));
/*connect(socket_que_declaramos, (struct sockaddr *)&alvo
(usa algumas coisas que especificamos lá em cima do alvo)*/
if (conecta<0) printf("Porta fechada");
else printf("Porta aberta!");
getch();
closesocket(sock); //Fecha o socket
WSACleanup(); //Limpa a estrutura WSA
return 0;
}
-
Re: SOCKET
RAFA_RP,
Só por curiosidade...
Você está compilando isso no gcc?
#libs estranhas
#include <winsock.h> //Biblioteca para se programar em sockets
#include <windows.h>
-
Re: SOCKET
-
Re: SOCKET
O DevC++ é só a IDE de desenvolvimento em C/C++, mas o compilado que ela utiliza é o GCC. Eu acho que só alguns compiladores possuem essas bibliotecas mencionadas aí, como o Borland C++ Builder. Mas para tirar a dúvida, vá no diretório de bibliotecas e veja se encontra os arquivos que você tá tentando utilizar.
Um abraço!
-
Re: SOCKET
ENTAO GCC DEVE TER ESTA BIBLIOTECA PORQUE ESTA COPILANDO MEU FONTE.
MINHA DUVIDA É DEPOIS Q DEU CERTO A CONEXAO DOS SOCKET SERVER E CLIENTE COMO FAÇO PRA ENVIAR UM ARQUIVO??
http://www.inf.unisinos.br/~roesler/...-winsocks2.txt
VLW
[]'S