Domů > Uncategorized > Chyba z klientské aplikace: "Address already in use"

Chyba z klientské aplikace: "Address already in use"

Při psaní skriptíku na generování zátěže na HTTP se mi po pár minutách začala vracet chyba “Address already in use”. Tento problém je hezky popsán zde i s perfektními skripty na odzkoušení (bohužel bez řešení).

Klient

import socket
 
for i in range(50000):
        s=socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        s.connect(('localhost',9000))
        s.send("bla")
        s.close()
        if i %100==0:
                print i

Server

import socket as s
import sys
 
serv=s.socket(s.AF_INET, s.SOCK_STREAM)
serv.bind(('',9000))
serv.listen(5)
 
while True:
        (c,l) = serv.accept()
        while True:
                data=c.recv(9000)
                if data:
                        print data,
                else:
                        break
        sys.stdout.flush()
        c.close()

Řešením je vytvoření a zvýšení MaxUserPort dle návodu zde a vytvoření a snížení TcpTimedWaitDelay zde.

Bookmark and Share
Tags:
  1. Bez komentářů.
  1. Žádné zpětné odkazy
Security Code: