cari

Rumah  >  Soal Jawab  >  teks badan

php - Penyemak imbas gagal mengakses program pelayan soket sebagai pelanggan?

Adalah perkara biasa untuk menulis program klien soket untuk mengaksesnya Ia juga perkara biasa untuk menggunakan telent untuk mengaksesnya, tetapi apabila penyemak imbas mengaksesnya sebagai pelanggan, ia secara langsung melaporkan ralat dan tidak memasuki gelung sementara di. semua. Mengapa ini?

Akses penyemak imbas 127.0.0.1:8899
Atur cara pelayan keluar secara langsung dan melaporkan ralat: Kesalahan pembahagian (teras dibuang)

Kod pelayan mungkin kelihatan seperti ini

int main(int argc, char *argv[]){
    
    if(argc != 2){
        err_msg("Penggunaan: ./studyHttpd <alamat ip>\n");
    }

    struct sockaddr_in server_sock, client_sock;
    int sockfd, client_fd;
    int sin_size;
    pthread_tntid;
    
    if(-1 == (sockfd = soket(AF_INET, SOCK_STREAM, 0))) err_exit("soket");
    printf("ID soket = %d\n", sockfd);

    server_sock.sin_family = AF_INET;
    server_sock.sin_port = htons(PORT);
    server_sock.sin_addr.s_addr = INADDR_ANY;
    bzero(&(server_sock.sin_zero), 8);

    int i = 1;
    setsockopt(sockfd, SOL_SOCKET, SO_REUSEADDR, &i, saiz(i));
    
    if(-1 == bind(sockfd, (struct sockaddr *)&server_sock, sizeof(struct sockaddr))) err_exit("bind");
    printf("Ikat kejayaan\n");

    if(-1 == listen(sockfd, MAX_QUE_CONN_NM)) err_exit("dengar");
    printf("Listening port = %d\n", PORT);

    saiz_dosa = sizeof(client_sock);

    /*Pelayar tidak akan melaksanakan langkah ini sama sekali, pelanggan lain akan berfungsi seperti biasa*/

    manakala(1){
        if(-1 == (client_fd = accept(sockfd, (struct sockaddr *) &client_sock, &sin_size))) err_exit("accept");

        if(pthread_create(&ntid, NULL, (void *)handle, &client_fd) != 0) err_exit("pthread_create");
    }
    tutup(sockfd);
    pulangan 0;
}
世界只因有你世界只因有你2826 hari yang lalu545

membalas semua(1)saya akan balas

  • 过去多啦不再A梦

    过去多啦不再A梦2017-05-16 13:05:22

    Pelayar menggunakan protokol http dan soket biasanya menggunakan protokol tcp/ip

    Protokol http mempunyai tajuk khas Tanpanya, sudah tentu ia tidak boleh diakses

    balas
    0
  • Batalbalas