[issue14418] Document differences in SocketServer between Python 2.6 and 2.7

2020-04-26 Thread Zachary Ware


Zachary Ware  added the comment:

Since Python 2.7 is now at end-of-life, I'm closing the issue.

--
nosy: +zach.ware
resolution:  -> out of date
stage: needs patch -> resolved
status: open -> closed

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue14418] Document differences in SocketServer between Python 2.6 and 2.7

2018-11-26 Thread Mark Lawrence


Change by Mark Lawrence :


--
nosy:  -BreamoreBoy

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue14418] Document differences in SocketServer between Python 2.6 and 2.7

2018-11-26 Thread Martin Panter

Martin Panter  added the comment:

Regarding the first point, “finish” is no longer called after an exception. 
This was apparently changed in 2.7.4 (see Issue 14574), but Geoffrey was 
referring to older documentation.

Regarding the second point, about ECONNRESET vs graceful shutdown, this seems 
to be due to the “shutdown” call added to in “TCPServer.close_request” in Issue 
6267.

--
nosy: +martin.panter

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue14418] Document differences in SocketServer between Python 2.6 and 2.7

2014-07-03 Thread Mark Lawrence

Mark Lawrence added the comment:

@Geoffrey sorry about the delay in getting back to you.

--
nosy: +BreamoreBoy, pitrou

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue14418
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue14418] Document differences in SocketServer between Python 2.6 and 2.7

2012-03-27 Thread Éric Araujo

Changes by Éric Araujo mer...@netwok.org:


--
stage:  - needs patch
versions:  -Python 2.6

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue14418
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue14418] Document differences in SocketServer between Python 2.6 and 2.7

2012-03-26 Thread Geoffrey Bache

New submission from Geoffrey Bache gjb1...@users.sourceforge.net:

Here I'm referring to the section about RequestHandler objects under the 
SocketServer page.  

http://docs.python.org/release/2.7.2/library/socketserver.html#requesthandler-objects
 
This appears to be the same in Python 2.6 and Python 2.7. But the objects don't 
behave the same, in two respects:

1) For finish() If setup() or handle() raise an exception, this function will 
not be called. This is true in Python 2.6. It appears to no longer be true in 
Python 2.7, where finish() is called in a finally clause.

2) For handle(). The default implementation does nothing. This is true up to 
a point, but using the default implementation has different effects. 
Specifically, if I try to read from a socket when the server has not written 
anything, I get an exception in Python 2.6 and an empty string in Python 2.7. 
Consider this code:

## server.py

from SocketServer import TCPServer, StreamRequestHandler
import sys, socket

server = TCPServer((socket.gethostname(), 0), StreamRequestHandler)
host, port = server.socket.getsockname()
address = host + : + str(port)
print Started server at, address
sys.stdout.flush()

server.serve_forever()

## client.py

import sys, socket

servAddr = sys.argv[1]
host, port = servAddr.split(:)
serverAddress = (host, int(port))
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.connect(serverAddress)
sock.sendall(Some Message)
sock.shutdown(1)
response = sock.makefile().read()
print Got reply:, response
sock.close()

and compare the following:

$ python2.7 server.py 
Started server at  127.0.1.1:42759
$ python2.7 client.py 127.0.1.1:42759
Got reply:
$ python2.6 server.py 
Started server at  127.0.1.1:42758
$ python client.py 127.0.1.1:42758
Traceback (most recent call last):
  File client.py, line 12, in module
response = sock.makefile().read()
  File /usr/lib/python2.7/socket.py, line 351, in read
data = self._sock.recv(rbufsize)
socket.error: [Errno 104] Connection reset by peer

(doesn't matter which Python runs the client in the last case)

I am unsure whether this is a bug in Python 2.6, or really what the reasoning 
behind the behaviour difference is, but I think this change in behaviour is 
worth a small note in the documentation (how it will behave if you try to read 
when nothing has been written)

--
assignee: docs@python
components: Documentation
messages: 156869
nosy: docs@python, gjb1002
priority: normal
severity: normal
status: open
title: Document differences in SocketServer between Python 2.6 and 2.7
versions: Python 2.6, Python 2.7

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue14418
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com