Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

kloster

[Resolvido] Winsock, erro na compilação

Recommended Posts

Olá

 

Estou estudando winsock, e quando fui compilar um exemplo aparece o erro "Unterminated character constant". Também tentei o comando -l winsock32 na hora de compilar. (usando DevC++)

Por favor, para que serve este comando e como conseguir compilar o código? Agradeço

Segue o codigo:

 

#include <stdio.h>
#include <winsock.h>

int main(){
int sock, conecta;
struct sockaddr_in alvo;

WSADATA wsaData;
WSAStartup(MAKEWORD(1, 1), &wsaData);

if ((sock=socket(AF_INET, SOCK_STREAM, 0))<0){
perror("Erro em socket!");
exit(1);
}

alvo.sin_family=AF_INET;
alvo.sin_port=htons(80);
alvo.sin_addr.s_addr=inet_addr("209.85.171.99"); //IP Google
memset(&(alvo.sin_zero), ‘/0', 8);   //<------- o erro de compilação aponta para essa linha

conecta=connect(sock, (struct sockaddr *)&destino, sizeof(struct sockaddr));

if (conecta<0) printf("Porta fechada");
else printf("Porta aberta!");

getch();

closesocket(sock); //Fecha o socket
WSACleanup(); //Limpa a estrutura WSA
return 0;
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

naum sei c é isso + algumas coisas q percebi:

 

*

conecta=connect(sock, (struct sockaddr *)&destino, sizeof(struct sockaddr));
aonde você declara &destino??

 

*

memset(&(alvo.sin_zero), '/0', 8);
a barra é do outro lado.

 

*

getch();
para usar getch(); você tem q declarar <conio.h>

 

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não foi um bom exemplo que eu peguei para estudar.

 

Vlw pela ajuda e por favor se você souber um bom link para estudar winsock poderia postá-lo aqui?

 

Até

Compartilhar este post


Link para o post
Compartilhar em outros sites

Edit: CORRIGIDO VLW

 

Ei aproveitando o topico,

 

Estou aprendendo C ainda. Por favor qual seria a finalidade de uma declaração deste tipo: Agradeço

 

unsigned char bindstr[]={

0x05,0x00,0x0B,0x03,0x10,0x00,0x00,0x00,0x48,0x00,0x00,0x00,0x7F,0x00,0x00,0x00,

 

0xD0,0x16,0xD0,0x16,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x01,0x00,

 

0xa0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46,

0x00,0x00,0x00,0x00,

0x04,0x5D,0x88,0x8A,0xEB,0x1C,0xC9,0x11,0x9F,0xE8,0x08,0x00,

0x2B,0x10,0x48,0x60,0x02,0x00,0x00,0x00};

Compartilhar este post


Link para o post
Compartilhar em outros sites

Depende da onde é usado cara...

Basicamente é uma array de chars que ele declarou (ou no caso, ele usou char por ser de 8 bits, ele queria apenas números), e preencheu com aluns valores em hexadecimal eu acho?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.