0

I need to socket script for 1000 client. I get error " thread.error: can't start new thread " . I checked socket same client opened more than one socket. I think i write socket.close and break if no data in loop in 10 min . Clients sends data between 3 sec - 5 min.

import socket
import threading
import psycopg2
from psycopg2 import Error
import string
import datetime
import resource

resource.setrlimit(resource.RLIMIT_NOFILE, (65536, 65536))
bind_ip = '0.0.0.0'
bind_port = 1350

server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
server.bind((bind_ip, bind_port))
server.listen(5000)  # max backlog of connections
def handle_client_connection(client_socket,address):
    while 1:
        print threading.active_count()
        request = client_socket.recv(1024)
        if not request:
            client_socket.close()
            break

        print 'Listening on {}:{}'.format(bind_ip, bind_port)
        #SOME DB OPERATION

while True:
    client_sock, address = server.accept()
    client_handler = threading.Thread(
        target=handle_client_connection,
        args=(client_sock,address[0],)
    )
    client_handler.start()
Erdem Çetin
  • 491
  • 1
  • 5
  • 21

0 Answers0