Message 1 of 3 (33%) | Post message | First Previous Next Last |
As demanded, ToDo-List for pysocket:
1.) UDP support
Problem:
- does not fit the structure of pysocket by now, because you have always to make sendto(data, address) and recvfrom(data, address)
Solution:
- Establishing Pseudo-Static-Connection
Problem:
- You never know when a session ends, because often packets are only sent once
2.) SSL-Support
3.) Protection System:
- proove against DDOS attacks and garbled packages etc.
Solutions:
- Credit Point system like lugdunum (vulnerable as it seems)
See: http://www.emule-project.net/board/index.php?showtopic=24033
- Problems: How deep can we interact with the socket API in Python?
4.) Connections ensurance:
At the moment we connect to a client like this:
def connecty(self,address):
self.connected = 0
err = self.socket.connect_ex(address)
if err in (EINPROGRESS, EALREADY, EWOULDBLOCK):
return
if err in (0, EISCONN):
self.addr = address
self.connected = 1
self.handle_connect()
else:
raise socket.error, err
So we take a connection for established even when it not is already. The source is taken from the asynchat.
I don't if it's going to be a problem, because the connection will be lost immediately when it fails, but could result in strange results, and even in DDOS-Attacks from our side.
5.) Better bandwidth control
- the bandwidth control seems to be a little bit inconsistent
- Solution: integrating it directly into the poll-functions
- adding second bandwidth control with for example n GB / month
- Bug: It is not possible to set up a connection without bandwidth control
6.) Priorising Connections
- there should be a possibility for laying priority on some connections
Solution: in the poll function priorised connections are always checked first or n-th with prio n, so we sort them before ask them
Problem: in a worse case low-prio connection will never be able to send anything
7.) Integrating user-defined data must be made easier, when it is needed in the protocol
Solution: Option to add a data-container to the protocol
That's it for the moment, tell your ideas,
Spikeee