Ir para conteúdo
Fórum Script Brasil

Date_Bayo!

Membros
  • Total de itens

    4
  • Registro em

  • Última visita

Sobre Date_Bayo!

Date_Bayo!'s Achievements

0

Reputação

  1. E diz que para solicitar uma página tem que ter a string HEAD / HTTP/1.1 Host: User-agent: Teste1 Connection: close
  2. Ou será que é pelo "CLIENTE"? WORD versao; // Versão WSADATA dados; // Dados da dll int erro; // Monta o número da versão versao = MAKEWORD(2, 2); erro = WSAStartup(versao, &dados); if (erro != 0) printf("Winsock não encontrado!\n"); else { printf("Winsock ok\n"); printf("Estado: %s.\n", dados.szSystemStatus); printf("Qtde Sockets: %u.\n", dados.iMaxSockets); SOCKET m_socket; // Parâmetros: internet, TCP, IPv4 m_socket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); if (m_socket == INVALID_SOCKET) { printf("Erro no socket\n"); WSACleanup(); return 0; } sockaddr_in endereco; endereco.sin_family = AF_INET; endereco.sin_addr.s_addr = inet_addr("127.0.0.1"); endereco.sin_port = htons(44444); erro = connect(m_socket, (SOCKADDR*) &endereco, sizeof(endereco)); if (erro == SOCKET_ERROR) { printf("connect() falhou\n"); closesocket(m_socket); WSACleanup(); return 0; } printf("Conexão estabelecida\n"); // CHAT int bytesEnviados; int bytesRecebidos = SOCKET_ERROR; char bufferEnvio[100]; char bufferRecebido[100] = ""; //printf("Cliente: Dados enviados: %ld\n", bytesEnviados); while (1) { printf("Digite a mensagem:\n"); gets(bufferEnvio); strcat(bufferEnvio,"\r\n"); bytesEnviados = send(m_socket, bufferEnvio, strlen(bufferEnvio), 0); bytesRecebidos = recv(m_socket, bufferRecebido, 100, 0); if (bytesRecebidos == SOCKET_ERROR) printf("Cliente. Erro no recebimento.\n"); else { printf("Servidor: %s\n", bufferRecebido); } } WSACleanup(); } getch(); }
  3. É em C++. Um amigo me falou que dava pra se basear nesse código de "Servidor que aguarda o cliente conectar": #include <WinSock2.h> #include <stdio.h> #include <conio.h> int main() { WORD versao; // Versão WSADATA dados; // Dados da dll int erro; // Monta o número da versão versao = MAKEWORD(2, 2); erro = WSAStartup(versao, &dados); if (erro != 0) printf("Winsock não encontrado!\n"); else { printf("Winsock ok\n"); printf("Estado: %s.\n", dados.szSystemStatus); printf("Qtde Sockets: %u.\n", dados.iMaxSockets); SOCKET m_socket; // Parâmetros: internet, TCP, IPv4 m_socket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); if (m_socket == INVALID_SOCKET) { printf("Erro no socket\n"); WSACleanup(); return 0; } sockaddr_in endereco; endereco.sin_family = AF_INET; endereco.sin_addr.s_addr = inet_addr("127.0.0.1"); endereco.sin_port = htons(44444); erro = bind(m_socket, (SOCKADDR*) &endereco, sizeof(endereco)); if (erro == SOCKET_ERROR) { printf("bind() falhou\n"); closesocket(m_socket); WSACleanup(); return 0; } printf("bind() ok\n"); erro = listen(m_socket, 1); if (erro == SOCKET_ERROR) { printf("listen() falhou\n"); closesocket(m_socket); WSACleanup(); return 0; } printf("Aguardando conexoes...\n"); SOCKET aceito; while (1) { aceito = SOCKET_ERROR; while(aceito == SOCKET_ERROR) { aceito = accept(m_socket, NULL, NULL); } printf("Conexao aceita!\n"); break; } int bytesEnviados; int bytesRecebidos = SOCKET_ERROR; char bufferEnvio[100]; char bufferRecebido[100] = ""; while (1) { bytesRecebidos = recv(aceito, bufferRecebido, 100, 0); if (bytesRecebidos == SOCKET_ERROR) printf("Servidor. Erro no recebimento.\n"); else { printf("Cliente: %s\n", bufferRecebido); } printf("Digite a mensagem:\n"); gets(bufferEnvio); strcat(bufferEnvio,"\r\n"); bytesEnviados = send(aceito, bufferEnvio, strlen(bufferEnvio), 0); } WSACleanup(); } getch(); }
  4. Preciso desenvolver um programa que acesse uma página qualquer e mostre a resposta separada em cabeçalho e conteúdo. É preciso enviar a seguinte string: HEAD / HTTP/1.1 Host: User-agent: Teste1 Connection: close Procurei em vários lugares sobre como fazer, mas não achei nada. Me ajudem por favor!!
×
×
  • Criar Novo...