[Live-devel] windows winsock error 10038

Andrey ashvyrkin at gosniias.ru
Thu Jun 27 00:24:48 PDT 2013


Hi, Ross. I was able to simulate error WINSOCK 10038. To do this, RTSP 
client must ask the server to send the stream. Accordingly, you should 
set REQUEST_STREAMING_OVER_TCP to True. Then you need to properly shut 
down the client, without sending the command TEARDOWN. Maybe a few 
times. And the next time the client connects, the server returns an 
error when you call select(). The error occurs on the client socket and 
the socket until it actually closes, but then again entered into the 
table socket, then an error occurs. After that there is only a few 
iterations SingleStep(), and then the handler of this problem socket is 
removed from the table and error in the select() no longer occurs. I 
would also like to draw attention to some of the code for the withdrawal 
of additional debugging information in the SingleStep(). In lines
..........
fprintf(stderr, "socket numbers used in the select() call:");
     for (int i = 0; i < 100; ++i) {
..........
i less than a hundred, but the windows usually have handles more than 
100 sets, so it's best to put 10000.


This is my log:

create socket from socket() num: 300
assignHandler socket num: 300
create socket from socket() num: 288
assignHandler socket num: 288

(We use port 80 for optional RTSP-over-HTTP tunneling.)
[URL:"rtsp://192.168.33.132/onvif-media/media.amp/"]: Got a SDP description:
v=0
o=- 1339027130613809 1339027130613809 IN IP4 192.168.33.132
s=Media Presentation
e=NONE
b=AS:50000
t=0 0
a=control:rtsp://192.168.33.132/onvif-media/media.amp?profile=quality_h264&sessi
ontimeout=60&streamtype=unicast
a=range:npt=0.000000-
m=video 0 RTP/AVP 96
c=IN IP4 0.0.0.0
b=AS:50000
a=framerate:30.0
a=transform:1,0,0;0,1,0;0,0,1
a=control:rtsp://192.168.33.132/onvif-media/media.amp/trackID=1?profile=quality_
h264&sessiontimeout=60&streamtype=unicast
a=rtpmap:96 H264/90000
a=fmtp:96 packetization-mode=1; profile-level-id=420029; 
sprop-parameter-sets=Z0
IAKeKQFAZ2AtwEBAaQeJEV,aM48gA==

[URL:"rtsp://192.168.33.132/onvif-media/media.amp/"]: Initiated the 
"video/H264"
  subsession (client ports 58416-58417)
[URL:"rtsp://192.168.33.132/onvif-media/media.amp/"]: Set up the 
"video/H264" su
bsession (client ports 58416-58417)
[URL:"rtsp://192.168.33.132/onvif-media/media.amp/"]: Created a data 
sink for th
e "video/H264" subsession
[URL:"rtsp://192.168.33.132/onvif-media/media.amp/"]: Started playing 
session...

create new socket from accept() socket num: 532
createNewClientConnection socket num: 532
assignHandler socket num: 532
create new socket from accept() socket num: 520
createNewClientConnection socket num: 520
assignHandler socket num: 520
create socket from socket() num: 524
closeSocket socket num: 524
create socket from socket() num: 960
closeSocket socket num: 960
create socket from socket() num: 928
create socket from socket() num: 924
assignHandler socket num: 924
assignHandler socket num: 520
clearHandler socket num: 924
assignHandler socket num: 924
clearHandler socket num: 924
closeSocket socket num: 928
closeSocket socket num: 924
clearHandler socket num: 520
assignHandler socket num: 520
clearHandler socket num: 520
closeSocket fClientInputSocket num: 520
create new socket from accept() socket num: 520
createNewClientConnection socket num: 520
assignHandler socket num: 520
create socket from socket() num: 584
create socket from socket() num: 588
assignHandler socket num: 588
assignHandler socket num: 520
clearHandler socket num: 588
assignHandler socket num: 588
clearHandler socket num: 588
closeSocket socket num: 584
closeSocket socket num: 588
clearHandler socket num: 520
assignHandler socket num: 520
clearHandler socket num: 520
closeSocket fClientInputSocket num: 520
create new socket from accept() socket num: 520
createNewClientConnection socket num: 520
assignHandler socket num: 520
create socket from socket() num: 640
create socket from socket() num: 1112
assignHandler socket num: 1112
assignHandler socket num: 520
clearHandler socket num: 1112
assignHandler socket num: 1112
clearHandler socket num: 520
clearHandler socket num: 520
closeSocket fClientInputSocket num: 520
create new socket from accept() socket num: 768
createNewClientConnection socket num: 768
assignHandler socket num: 768
assignHandler socket num: 768
clearHandler socket num: 1112
assignHandler socket num: 1112
assignHandler socket num: 520
BasicTaskScheduler::SingleStep(): select() fails: No error
socket numbers used in the select() call: 288(r) 300(r) 520(re) 532(re) 
768(re)
1112(r)
WinSock error 10038
BasicTaskScheduler::SingleStep(): select() fails: No error
socket numbers used in the select() call: 288(r) 300(r) 520(re) 532(re) 
768(re)
1112(r)
WinSock error 10038
BasicTaskScheduler::SingleStep(): select() fails: No error
socket numbers used in the select() call: 288(r) 300(r) 520(re) 532(re) 
768(re)
1112(r)
WinSock error 10038
BasicTaskScheduler::SingleStep(): select() fails: No error
socket numbers used in the select() call: 288(r) 300(r) 520(re) 532(re) 
768(re)
1112(r)
WinSock error 10038
clearHandler socket num: 520
clearHandler socket num: 768
assignHandler socket num: 768
clearHandler socket num: 768
closeSocket fClientInputSocket num: 768
create new socket from accept() socket num: 768
createNewClientConnection socket num: 768
assignHandler socket num: 768
assignHandler socket num: 768
clearHandler socket num: 1112
assignHandler socket num: 1112


More information about the live-devel mailing list