[Live-devel] windows winsock error 10038

Andrey ashvyrkin at gosniias.ru
Thu Jun 27 00:36:52 PDT 2013


It is important to note that the error occurs on the socket 
fClientInputSocket and the socket when using the TCP, for UDP is not an 
issue.


27.06.2013 11:24, Andrey пишет:
> 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