由于winvnc采用多线程机制,故我在源码中添加打印信息,通过打印信息到文件来观察程序运行的流程。打印信息如下(主要观察捕捉屏幕信息和发送部分):
VSocket---Accept:49---56---437
VSocket---Accept:49---56---437
VncServer---AddClient:51---30---390
vncClientThread----run:51---30---390
VSocket---Send:51---30---390
VSocket---Send:51---30---390
VSocket---Send:51---30---390
VSocket---Send:51---33---812
vncDesktopThread---copy_bitmaps_to_buffer:51---33---828
vncDesktop-----Startup:51---34---328
videodriver----VIDEODRIVER_star:51---34---328
videodriver----Mirror_driver_attach_XP:51---34---328
videodriver----VideoMemory_GetSharedMemory:51---34---343
vncClient---SetBuffer:51---34---406
VSocket---Send:51---34---468
VSocket---Send:51---34---484
vncClientUpdateThread----run_undetached:51---34---484
vncClientUpdateThread----EnableUpdates:51---34---578
vncClientUpdateThread----EnableUpdates:51---34---578
vncClientUpdateThread----EnableUpdates:51---34---578
vncClientUpdateThread----EnableUpdates:51---34---593
VSocket---Send:51---34---593
VSocket---Send:51---34---593
VSocket---Send:51---34---593
VSocket---Send:51---34---593
rfb---SimpleUpdateTracker----flush_update:51---34---593
vncClient---SendUpdate:51---34---593
VSocket---Send:51---34---593
vncClientUpdateThread----EnableUpdates:51---35---15
vncClientUpdateThread----EnableUpdates:51---35---15
vncClientUpdateThread----EnableUpdates:51---35---15
vncClientUpdateThread----EnableUpdates:51---35---31
VSocket---Send:51---35---31
VSocket---Send:51---35---31
VSocket---Send:51---35---31
rfb---SimpleUpdateTracker----flush_update:51---35---31
vncClient---SendUpdate:51---35---46
VSocket---Send:51---35---46
vncBuffer----GrabRegion:51---35---437
vncDesktopThread---handle_driver_changes:51---35---484
vncDesktop-----CalcCopyRects:51---35---484
vncDesktopThread---copy_bitmaps_to_buffer:51---35---484
vncDesktopThread---copy_bitmaps_to_buffer:51---35---484
vncDesktopThread---copy_bitmaps_to_buffer:51---35---484
。
。
。
vncBuffer----GrabRegion:51---35---765
rfb---SimpleUpdateTracker----flush_update:51---35---812
vncDesktopThread---handle_driver_changes:51---35---812
vncClient---SendUpdate:51---35---812
vncDesktop-----CalcCopyRects:51---35---812
VSocket---Send:51---35---812
vncDesktopThread---copy_bitmaps_to_buffer:51---35---812
vncDesktopThread---copy_bitmaps_to_buffer:51---35---812
vncDesktopThread---copy_bitmaps_to_buffer:51---35---812
。
。
。
vncDesktopThread---handle_display_change:51---35---906
vncDesktopThread---handle_driver_changes:51---35---921
vncDesktop-----CalcCopyRects:51---35---921
vncDesktopThread---copy_bitmaps_to_buffer:51---35---921
vncDesktopThread---copy_bitmaps_to_buffer:51---35---921
vncDesktopThread---copy_bitmaps_to_buffer:51---35---921
vncDesktopThread---copy_bitmaps_to_buffer:51---35---921
vncDesktopThread---copy_bitmaps_to_buffer:51---35---921
vncDesktopThread---copy_bitmaps_to_buffer:51---35---921
vncDesktopThread---copy_bitmaps_to_buffer:51---35---921
vncDesktopThread---copy_bitmaps_to_buffer:51---35---921
vncDesktopThread---copy_bitmaps_to_buffer:51---35---921
vncDesktopThread---copy_bitmaps_to_buffer:51---35---921
vncDesktopThread---copy_bitmaps_to_buffer:51---35---921
vncDesktopThread---copy_bitmaps_to_buffer:51---35---921
vncDesktopThread---handle_display_change:51---35---921
vncDesktopThread---handle_driver_changes:51---35---953
vncDesktop-----CalcCopyRects:51---35---953
vncDesktopThread---copy_bitmaps_to_buffer:51---35---953
vncDesktopThread---copy_bitmaps_to_buffer:51---35---953
vncDesktopThread---handle_display_change:51---35---953
vncBuffer----GrabRegion:51---35---953
rfb---SimpleUpdateTracker----flush_update:51---36---0
vncDesktop-----CalcCopyRects:51---36---0
vncClient---SendUpdate:51---36---0
VSocket---Send:51---36---0
vncDesktopThread---copy_bitmaps_to_buffer:51---36---0
vncDesktopThread---copy_bitmaps_to_buffer:51---36---15
vncDesktopThread---handle_display_change:51---36---15
vncDesktopThread---handle_driver_changes:51---36---109
vncDesktop-----CalcCopyRects:51---36---109
vncDesktopThread---copy_bitmaps_to_buffer:51---36---109
vncDesktopThread---copy_bitmaps_to_buffer:51---36---109
vncDesktopThread---copy_bitmaps_to_buffer:51---36---109
vncDesktopThread---copy_bitmaps_to_buffer:51---36---109
vncDesktopThread---copy_bitmaps_to_buffer:51---36---109
vncDesktopThread---handle_display_change:51---36---109
vncBuffer----GrabRegion:51---36---109
rfb---SimpleUpdateTracker----flush_update:51---36---125
vncClient---SendUpdate:51---36---140
VSocket---Send:51---36---140
vncDesktopThread---handle_driver_changes:51---36---140
vncDesktop-----CalcCopyRects:51---36---140
vncDesktopThread---copy_bitmaps_to_buffer:51---36---140
vncDesktopThread---copy_bitmaps_to_buffer:51---36---140
vncDesktopThread---handle_display_change:51---36---140
vncDesktopThread---handle_driver_changes:51---36---234
vncDesktop-----CalcCopyRects:51---36---234
vncDesktopThread---copy_bitmaps_to_buffer:51---36---234
vncDesktopThread---copy_bitmaps_to_buffer:51---36---234
vncDesktopThread---copy_bitmaps_to_buffer:51---36---234
vncDesktopThread---copy_bitmaps_to_buffer:51---36---234
vncDesktopThread---handle_display_change:51---36---234
vncDesktopThread---handle_driver_changes:51---36---265
vncDesktop-----CalcCopyRects:51---36---265
vncDesktopThread---copy_bitmaps_to_buffer:51---36---265
vncDesktopThread---copy_bitmaps_to_buffer:51---36---265
vncDesktopThread---handle_display_change:51---36---265
vncBuffer----GrabRegion:51---36---281
vncDesktopThread---handle_driver_changes:51---36---296
rfb---SimpleUpdateTracker----flush_update:51---36---296
vncDesktop-----CalcCopyRects:51---36---296
vncClient---SendUpdate:51---36---296
vncDesktopThread---copy_bitmaps_to_buffer:51---36---296
VSocket---Send:51---36---296
vncDesktopThread---copy_bitmaps_to_buffer:51---36---296
vncDesktopThread---handle_display_change:51---36---296
vncDesktopThread---handle_driver_changes:51---36---390
vncDesktop-----CalcCopyRects:51---36---390
vncDesktopThread---copy_bitmaps_to_buffer:51---36---390
vncDesktopThread---copy_bitmaps_to_buffer:51---36---390
vncDesktopThread---copy_bitmaps_to_buffer:51---36---390
vncDesktopThread---copy_bitmaps_to_buffer:51---36---406
vncDesktopThread---handle_display_change:51---36---406
vncDesktopThread---handle_driver_changes:51---36---437
vncDesktop-----CalcCopyRects:51---36---437
vncDesktopThread---copy_bitmaps_to_buffer:51---36---437
vncDesktopThread---copy_bitmaps_to_buffer:51---36---437
vncDesktopThread---copy_bitmaps_to_buffer:51---36---437
vncDesktopThread---copy_bitmaps_to_buffer:51---36---437
vncDesktopThread---copy_bitmaps_to_buffer:51---36---437
vncDesktopThread---handle_display_change:51---36---437
vncBuffer----GrabRegion:51---36---437
rfb---SimpleUpdateTracker----flush_update:51---36---468
vncDesktopThread---handle_driver_changes:51---36---468
vncDesktop-----CalcCopyRects:51---36---468
vncClient---SendUpdate:51---36---468
vncDesktopThread---copy_bitmaps_to_buffer:51---36---468
vncDesktopThread---copy_bitmaps_to_buffer:51---36---468
vncDesktopThread---copy_bitmaps_to_buffer:51---36---468
vncDesktopThread---copy_bitmaps_to_buffer:51---36---468
vncDesktopThread---copy_bitmaps_to_buffer:51---36---468
vncDesktopThread---handle_display_change:51---36---468
vncDesktopThread---handle_driver_changes:51---36---562
vncDesktop-----CalcCopyRects:51---36---578
vncDesktopThread---copy_bitmaps_to_buffer:51---36---578
vncDesktopThread---copy_bitmaps_to_buffer:51---36---578
vncDesktopThread---copy_bitmaps_to_buffer:51---36---578
。
。
。
vncBuffer----GrabRegion:51---36---640
rfb---SimpleUpdateTracker----flush_update:51---36---703
vncDesktopThread---handle_driver_changes:51---36---703
vncDesktop-----CalcCopyRects:51---36---718
vncClient---SendUpdate:51---36---718
VSocket---Send:51---36---718
vncDesktopThread---copy_bitmaps_to_buffer:51---36---718
vncDesktopThread---copy_bitmaps_to_buffer:51---36---718
vncDesktopThread---copy_bitmaps_to_buffer:51---36---718
。
。
。
vncBuffer----GrabRegion:51---37---125
vncDesktopThread---handle_driver_changes:51---37---171
vncDesktop-----CalcCopyRects:51---37---187
vncDesktopThread---copy_bitmaps_to_buffer:51---37---187
vncClient---SendUpdate:51---37---187
vncDesktopThread---copy_bitmaps_to_buffer:51---37---187
VSocket---Send:51---37---187
vncDesktopThread---copy_bitmaps_to_buffer:51---37---187
vncDesktopThread---copy_bitmaps_to_buffer:51---37---187
vncDesktopThread---copy_bitmaps_to_buffer:51---37---187
。
。
。
vncDesktopThread---handle_display_change:51---37---203
vncDesktopThread---handle_driver_changes:51---37---296
vncDesktop-----CalcCopyRects:51---37---296
vncDesktopThread---copy_bitmaps_to_buffer:51---37---296
vncDesktopThread---copy_bitmaps_to_buffer:51---37---296
vncDesktopThread---copy_bitmaps_to_buffer:51---37---296
。
。
。
vncDesktopThread---handle_display_change:51---37---296
vncDesktopThread---handle_driver_changes:51---37---328
vncDesktop-----CalcCopyRects:51---37---328
vncDesktopThread---copy_bitmaps_to_buffer:51---37---328
vncDesktopThread---copy_bitmaps_to_buffer:51---37---328
vncDesktopThread---copy_bitmaps_to_buffer:51---37---328
。
。
。
vncDesktopThread---handle_display_change:51---37---343
vncBuffer----GrabRegion:51---37---343
rfb---SimpleUpdateTracker----flush_update:51---37---359
vncClient---SendUpdate:51---37---359
VSocket---Send:51---37---359
vncDesktopThread---handle_driver_changes:51---37---375
vncDesktop-----CalcCopyRects:51---37---375
vncDesktopThread---copy_bitmaps_to_buffer:51---37---375
vncDesktopThread---copy_bitmaps_to_buffer:51---37---375
vncDesktopThread---handle_display_change:51---37---375
vncDesktopThread---handle_driver_changes:51---37---453
vncDesktop-----CalcCopyRects:51---37---453
vncDesktopThread---copy_bitmaps_to_buffer:51---37---453
vncDesktopThread---copy_bitmaps_to_buffer:51---37---453
vncDesktopThread---copy_bitmaps_to_buffer:51---37---453
。
。
。
vncDesktopThread---handle_display_change:51---37---468
vncBuffer----GrabRegion:51---37---468
rfb---SimpleUpdateTracker----flush_update:51---37---484
vncClient---SendUpdate:51---37---484
VSocket---Send:51---37---484
vncDesktopThread---handle_driver_changes:51---37---500
vncDesktop-----CalcCopyRects:51---37---500
vncDesktopThread---copy_bitmaps_to_buffer:51---37---500
vncDesktopThread---copy_bitmaps_to_buffer:51---37---500
vncDesktopThread---handle_display_change:51---37---500
vncDesktopThread---handle_driver_changes:51---37---578
vncDesktop-----CalcCopyRects:51---37---578
vncDesktopThread---copy_bitmaps_to_buffer:51---37---578
vncDesktopThread---copy_bitmaps_to_buffer:51---37---578
vncDesktopThread---copy_bitmaps_to_buffer:51---37---578
。
。
。
vncDesktopThread---handle_display_change:51---37---593
vncBuffer----GrabRegion:51---37---593
rfb---SimpleUpdateTracker----flush_update:51---37---609
vncClient---SendUpdate:51---37---609
VSocket---Send:51---37---609
vncDesktopThread---handle_driver_changes:51---37---625
vncDesktop-----CalcCopyRects:51---37---625
vncDesktopThread---copy_bitmaps_to_buffer:51---37---625
vncDesktopThread---copy_bitmaps_to_buffer:51---37---625
vncDesktopThread---handle_display_change:51---37---625
vncDesktopThread---handle_driver_changes:51---37---703
vncDesktop-----CalcCopyRects:51---37---703
vncDesktopThread---copy_bitmaps_to_buffer:51---37---703
vncDesktopThread---copy_bitmaps_to_buffer:51---37---703
vncDesktopThread---copy_bitmaps_to_buffer:51---37---703
。
。
。
vncDesktopThread---handle_display_change:51---37---718
vncBuffer----GrabRegion:51---37---718
rfb---SimpleUpdateTracker----flush_update:51---37---734
vncClient---SendUpdate:51---37---734
VSocket---Send:51---37---734
vncDesktopThread---handle_driver_changes:51---37---750
vncDesktop-----CalcCopyRects:51---37---750
vncDesktopThread---copy_bitmaps_to_buffer:51---37---750
vncDesktopThread---copy_bitmaps_to_buffer:51---37---750
vncDesktopThread---handle_display_change:51---37---750
vncDesktopThread---handle_driver_changes:51---37---843
vncDesktop-----CalcCopyRects:51---37---843
vncDesktopThread---copy_bitmaps_to_buffer:51---37---843
vncDesktopThread---copy_bitmaps_to_buffer:51---37---843
vncDesktopThread---copy_bitmaps_to_buffer:51---37---843
。
。
。
vncDesktopThread---handle_display_change:51---37---843
vncBuffer----GrabRegion:51---37---843
rfb---SimpleUpdateTracker----flush_update:51---37---859
vncClient---SendUpdate:51---37---859
VSocket---Send:51---37---859
vncDesktopThread---handle_driver_changes:51---37---875
vncDesktop-----CalcCopyRects:51---37---875
vncDesktopThread---copy_bitmaps_to_buffer:51---37---875
vncDesktopThread---copy_bitmaps_to_buffer:51---37---875
vncDesktopThread---handle_display_change:51---37---875
vncDesktopThread---handle_driver_changes:51---37---968
vncDesktop-----CalcCopyRects:51---37---968
vncDesktopThread---copy_bitmaps_to_buffer:51---37---968
vncDesktopThread---copy_bitmaps_to_buffer:51---37---968
vncDesktopThread---copy_bitmaps_to_buffer:51---37---968
。
。
。
vncDesktopThread---handle_display_change:51---37---968
vncBuffer----GrabRegion:51---37---984
rfb---SimpleUpdateTracker----flush_update:51---38---0
vncClient---SendUpdate:51---38---0
VSocket---Send:51---38---0
vncDesktopThread---handle_driver_changes:51---38---0
vncDesktop-----CalcCopyRects:51---38---0
vncDesktopThread---copy_bitmaps_to_buffer:51---38---0
vncDesktopThread---copy_bitmaps_to_buffer:51---38---0
vncDesktopThread---copy_bitmaps_to_buffer:51---38---0
vncDesktopThread---handle_display_change:51---38---0
vncDesktopThread---handle_driver_changes:51---38---93
vncDesktop-----CalcCopyRects:51---38---109
vncDesktopThread---copy_bitmaps_to_buffer:51---38---109
vncDesktopThread---copy_bitmaps_to_buffer:51---38---109
vncDesktopThread---copy_bitmaps_to_buffer:51---38---109
。
。
。
阅读(2144) | 评论(0) | 转发(0) |