Name error: Name "server" not defined Python

3

Hello, I have a version of Python 2.7 and at this moment I do not know why this error is returned when configuring a TCP server.

  

server = server.socket (socket.AF_INET, socket.SOCK_STREAM)
  NameError: name 'server' is not defined

The code is:

#!/usr/bin/python
# -*- coding: utf-8 -*-

import socket
import threading

bind_ip = "XXX.XXX.X.XXX"
bind_port = 9999

server = server.socket(socket.AF_INET, socket.SOCK_STREAM)
server.bind((bind_ip, bind_port))
server.listen(5)

print("[*] Listening on %s:%d" % (bind_ip, bind_port))

def handle_client(client_socket):

    request = client_socket.recv(1024)

    print("[*] Receivd: %s" % request)

    client_socket.send("ACK!")
    client_socket.close()

    while True:
        client, addr = server.accept()
        print("[*] Accepted connection from %s:%d" % (addr[0], addr[1]))
        client_handler = threading.Thread(target=handle_client, args=(client, ))
        client_handler.start()

I hope your answers will be of great help to me thanks.

    
asked by salchip4pa 28.12.2016 в 17:46
source

1 answer

3

You have to change server by socket here:

server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

The full script listening on localhost:

#!/usr/bin/python
# -*- coding: utf-8 -*-

import socket
import threading

bind_ip = "127.0.0.1"
bind_port = 9999

server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server.bind((bind_ip,bind_port))
server.listen(5)

print "[*] Listening on %s:%d" % (bind_ip,bind_port)

def handle_client(client_socket):

    request = client_socket.recv(1024)

    print "[*] Receivd: %s" % request

    client_socket.send("ACK!")

    client_socket.close()

while True:
    client, addr = server.accept()
    print("[*] Accepted connection from %s:%d" % (addr[0], addr[1]))
    client_handler = threading.Thread(target=handle_client, args=(client, ))
    client_handler.start()

Error 99 is EADDRNOTAVAIL which indicates that you are trying to listen to an unavailable ip address, use the correct or localhost.

    
answered by 28.12.2016 в 17:51