2020-07-22 11:01:23 +08:00
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
< !DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
2023-09-28 02:38:24 +08:00
<!-- Generated by graphviz version 9.0.0 (20230911.1827)
2020-07-22 11:01:23 +08:00
-->
<!-- Title: client_server/udp_server.c Pages: 1 -->
2023-04-28 03:43:13 +08:00
<!-- zoomable 83 -->
2023-06-21 05:10:10 +08:00
2020-07-22 11:01:23 +08:00
<svg id= "main" version= "1.1" xmlns= "http://www.w3.org/2000/svg" xmlns:xlink= "http://www.w3.org/1999/xlink" xml:space= "preserve" onload= "init(evt)" >
<style type= "text/css" > < ![CDATA[
2023-06-21 05:10:10 +08:00
.node, .edge {opacity: 0.7;}
.node.selected, .edge.selected {opacity: 1;}
2020-07-22 11:01:23 +08:00
.edge:hover path { stroke: red; }
.edge:hover polygon { stroke: red; fill: red; }
]]></style>
2023-06-21 05:10:10 +08:00
<defs >
<circle id= "rim" cx= "0" cy= "0" r= "7" />
<circle id= "rim2" cx= "0" cy= "0" r= "3.5" />
<g id= "zoomPlus" >
<use xlink:href= "#rim" fill= "#404040" > <set attributeName= "fill" to= "#808080" begin= "zoomplus.mouseover" end= "zoomplus.mouseout" /> </use>
<path d= "M-4,0h8M0,-4v8" fill= "none" stroke= "white" stroke-width= "1.5" pointer-events= "none" />
</g>
<g id= "zoomMin" >
<use xlink:href= "#rim" fill= "#404040" > <set attributeName= "fill" to= "#808080" begin= "zoomminus.mouseover" end= "zoomminus.mouseout" /> </use>
<path d= "M-4,0h8" fill= "none" stroke= "white" stroke-width= "1.5" pointer-events= "none" />
</g>
<g id= "arrowUp" transform= "translate(30 24)" >
<use xlink:href= "#rim" />
<path pointer-events= "none" fill= "none" stroke= "white" stroke-width= "1.5" d= "M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5" />
</g>
<g id= "arrowRight" transform= "rotate(90) translate(36 -43)" >
<use xlink:href= "#rim" />
<path pointer-events= "none" fill= "none" stroke= "white" stroke-width= "1.5" d= "M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5" />
</g>
<g id= "arrowDown" transform= "rotate(180) translate(-30 -48)" >
<use xlink:href= "#rim" />
<path pointer-events= "none" fill= "none" stroke= "white" stroke-width= "1.5" d= "M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5" />
</g>
<g id= "arrowLeft" transform= "rotate(270) translate(-36 17)" >
<use xlink:href= "#rim" />
<path pointer-events= "none" fill= "none" stroke= "white" stroke-width= "1.5" d= "M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5" />
</g>
<g id= "resetDef" >
<use xlink:href= "#rim2" fill= "#404040" > <set attributeName= "fill" to= "#808080" begin= "reset.mouseover" end= "reset.mouseout" /> </use>
</g>
</defs>
<script type= "application/ecmascript" >
2023-04-28 03:43:13 +08:00
var viewWidth = 657;
var viewHeight = 83;
2020-07-22 11:01:23 +08:00
var sectionId = 'dynsection-0';
</script>
2023-06-21 05:10:10 +08:00
<script type= "application/ecmascript" xlink:href= "../../svg.min.js" />
2020-07-22 11:01:23 +08:00
<svg id= "graph" class= "graph" >
<g id= "viewport" >
<title > client_server/udp_server.c</title>
<!-- Node1 -->
2023-06-21 05:10:10 +08:00
<g id= "Node000001" class= "node" >
2020-07-22 11:01:23 +08:00
<title > Node1</title>
2023-06-21 05:10:10 +08:00
<g id= "a_Node000001" > <a xlink:title= "Server side implementation of UDP client-server model." >
2023-04-28 03:43:13 +08:00
<polygon fill= "#999999" stroke= "#666666" points= "416.88,-74.5 286.88,-74.5 286.88,-55.25 416.88,-55.25 416.88,-74.5" />
<text text-anchor= "middle" x= "351.88" y= "-61" font-family= "Helvetica,sans-Serif" font-size= "10.00" > client_server/udp_server.c</text>
2020-07-22 11:01:23 +08:00
</a>
</g>
</g>
<!-- Node2 -->
2023-06-21 05:10:10 +08:00
<g id= "Node000002" class= "node" >
2020-07-22 11:01:23 +08:00
<title > Node2</title>
2023-06-21 05:10:10 +08:00
<g id= "a_Node000002" > <a xlink:title= " " >
2023-04-28 03:43:13 +08:00
<polygon fill= "#e0e0e0" stroke= "#999999" points= "61.75,-19.25 0,-19.25 0,0 61.75,0 61.75,-19.25" />
<text text-anchor= "middle" x= "30.88" y= "-5.75" font-family= "Helvetica,sans-Serif" font-size= "10.00" > arpa/inet.h</text>
2020-07-22 11:01:23 +08:00
</a>
</g>
</g>
<!-- Node1->Node2 -->
2023-06-21 05:10:10 +08:00
<g id= "edge1_Node000001_Node000002" class= "edge" >
2020-07-22 11:01:23 +08:00
<title > Node1- > Node2</title>
2023-06-21 05:10:10 +08:00
<g id= "a_edge1_Node000001_Node000002" > <a xlink:title= " " >
2023-09-28 02:38:24 +08:00
<path fill= "none" stroke= "#63b8ff" d= "M288.09,-54.77C233.59,-46.75 152.82,-34.33 73.09,-19.58" />
<polygon fill= "#63b8ff" stroke= "#63b8ff" points= "73.81,-16.15 63.34,-17.76 72.53,-23.03 73.81,-16.15" />
2023-06-21 05:10:10 +08:00
</a>
</g>
2020-07-22 11:01:23 +08:00
</g>
<!-- Node3 -->
2023-06-21 05:10:10 +08:00
<g id= "Node000003" class= "node" >
2020-07-22 11:01:23 +08:00
<title > Node3</title>
2023-06-21 05:10:10 +08:00
<g id= "a_Node000003" > <a xlink:title= " " >
2023-04-28 03:43:13 +08:00
<polygon fill= "#e0e0e0" stroke= "#999999" points= "128,-19.25 79.75,-19.25 79.75,0 128,0 128,-19.25" />
<text text-anchor= "middle" x= "103.88" y= "-5.75" font-family= "Helvetica,sans-Serif" font-size= "10.00" > netdb.h</text>
2020-07-22 11:01:23 +08:00
</a>
</g>
</g>
<!-- Node1->Node3 -->
2023-06-21 05:10:10 +08:00
<g id= "edge2_Node000001_Node000003" class= "edge" >
2020-07-22 11:01:23 +08:00
<title > Node1- > Node3</title>
2023-06-21 05:10:10 +08:00
<g id= "a_edge2_Node000001_Node000003" > <a xlink:title= " " >
2023-09-28 02:38:24 +08:00
<path fill= "none" stroke= "#63b8ff" d= "M304.75,-54.81C263.48,-46.71 201.63,-34.19 139.19,-19.7" />
<polygon fill= "#63b8ff" stroke= "#63b8ff" points= "140.36,-16.38 129.82,-17.51 138.76,-23.2 140.36,-16.38" />
2023-06-21 05:10:10 +08:00
</a>
</g>
2020-07-22 11:01:23 +08:00
</g>
<!-- Node4 -->
2023-06-21 05:10:10 +08:00
<g id= "Node000004" class= "node" >
2020-07-22 11:01:23 +08:00
<title > Node4</title>
2023-06-21 05:10:10 +08:00
<g id= "a_Node000004" > <a xlink:title= " " >
2023-04-28 03:43:13 +08:00
<polygon fill= "#e0e0e0" stroke= "#999999" points= "209.88,-19.25 145.88,-19.25 145.88,0 209.88,0 209.88,-19.25" />
<text text-anchor= "middle" x= "177.88" y= "-5.75" font-family= "Helvetica,sans-Serif" font-size= "10.00" > netinet/in.h</text>
2020-07-22 11:01:23 +08:00
</a>
</g>
</g>
<!-- Node1->Node4 -->
2023-06-21 05:10:10 +08:00
<g id= "edge3_Node000001_Node000004" class= "edge" >
2020-07-22 11:01:23 +08:00
<title > Node1- > Node4</title>
2023-06-21 05:10:10 +08:00
<g id= "a_edge3_Node000001_Node000004" > <a xlink:title= " " >
2023-09-28 02:38:24 +08:00
<path fill= "none" stroke= "#63b8ff" d= "M322.36,-54.84C293.74,-46.08 250.09,-32.73 218.26,-22.98" />
<polygon fill= "#63b8ff" stroke= "#63b8ff" points= "219.57,-19.73 208.98,-20.15 217.52,-26.42 219.57,-19.73" />
2023-06-21 05:10:10 +08:00
</a>
</g>
2020-07-22 11:01:23 +08:00
</g>
<!-- Node5 -->
2023-06-21 05:10:10 +08:00
<g id= "Node000005" class= "node" >
2020-07-22 11:01:23 +08:00
<title > Node5</title>
2023-06-21 05:10:10 +08:00
<g id= "a_Node000005" > <a xlink:title= " " >
2023-04-28 03:43:13 +08:00
<polygon fill= "#e0e0e0" stroke= "#999999" points= "300,-19.25 227.75,-19.25 227.75,0 300,0 300,-19.25" />
<text text-anchor= "middle" x= "263.88" y= "-5.75" font-family= "Helvetica,sans-Serif" font-size= "10.00" > sys/socket.h</text>
2020-07-22 11:01:23 +08:00
</a>
</g>
</g>
<!-- Node1->Node5 -->
2023-06-21 05:10:10 +08:00
<g id= "edge4_Node000001_Node000005" class= "edge" >
2020-07-22 11:01:23 +08:00
<title > Node1- > Node5</title>
2023-06-21 05:10:10 +08:00
<g id= "a_edge4_Node000001_Node000005" > <a xlink:title= " " >
2023-09-28 02:38:24 +08:00
<path fill= "none" stroke= "#63b8ff" d= "M336.95,-54.84C323.67,-46.81 304.01,-34.91 288.42,-25.48" />
<polygon fill= "#63b8ff" stroke= "#63b8ff" points= "290.54,-22.67 280.17,-20.49 286.91,-28.66 290.54,-22.67" />
2023-06-21 05:10:10 +08:00
</a>
</g>
2020-07-22 11:01:23 +08:00
</g>
<!-- Node6 -->
2023-06-21 05:10:10 +08:00
<g id= "Node000006" class= "node" >
2020-07-22 11:01:23 +08:00
<title > Node6</title>
2023-06-21 05:10:10 +08:00
<g id= "a_Node000006" > <a xlink:title= " " >
2023-04-28 03:43:13 +08:00
<polygon fill= "#e0e0e0" stroke= "#999999" points= "385.38,-19.25 318.38,-19.25 318.38,0 385.38,0 385.38,-19.25" />
<text text-anchor= "middle" x= "351.88" y= "-5.75" font-family= "Helvetica,sans-Serif" font-size= "10.00" > sys/types.h</text>
2020-07-22 11:01:23 +08:00
</a>
</g>
</g>
<!-- Node1->Node6 -->
2023-06-21 05:10:10 +08:00
<g id= "edge5_Node000001_Node000006" class= "edge" >
2020-07-22 11:01:23 +08:00
<title > Node1- > Node6</title>
2023-06-21 05:10:10 +08:00
<g id= "a_edge5_Node000001_Node000006" > <a xlink:title= " " >
2023-09-28 02:38:24 +08:00
<path fill= "none" stroke= "#63b8ff" d= "M351.88,-55.08C351.88,-48.57 351.88,-39.42 351.88,-31.12" />
<polygon fill= "#63b8ff" stroke= "#63b8ff" points= "355.38,-31.12 351.88,-21.12 348.38,-31.12 355.38,-31.12" />
2023-06-21 05:10:10 +08:00
</a>
</g>
2020-07-22 11:01:23 +08:00
</g>
<!-- Node7 -->
2023-06-21 05:10:10 +08:00
<g id= "Node000007" class= "node" >
2020-07-22 11:01:23 +08:00
<title > Node7</title>
2023-06-21 05:10:10 +08:00
<g id= "a_Node000007" > <a xlink:title= " " >
2023-04-28 03:43:13 +08:00
<polygon fill= "#e0e0e0" stroke= "#999999" points= "454.12,-19.25 403.62,-19.25 403.62,0 454.12,0 454.12,-19.25" />
<text text-anchor= "middle" x= "428.88" y= "-5.75" font-family= "Helvetica,sans-Serif" font-size= "10.00" > unistd.h</text>
2020-07-22 11:01:23 +08:00
</a>
</g>
</g>
<!-- Node1->Node7 -->
2023-06-21 05:10:10 +08:00
<g id= "edge6_Node000001_Node000007" class= "edge" >
2020-07-22 11:01:23 +08:00
<title > Node1- > Node7</title>
2023-06-21 05:10:10 +08:00
<g id= "a_edge6_Node000001_Node000007" > <a xlink:title= " " >
2023-09-28 02:38:24 +08:00
<path fill= "none" stroke= "#63b8ff" d= "M364.94,-54.84C376.33,-46.96 393.1,-35.36 406.61,-26.02" />
<polygon fill= "#63b8ff" stroke= "#63b8ff" points= "408.27,-29.13 414.5,-20.56 404.29,-23.37 408.27,-29.13" />
2023-06-21 05:10:10 +08:00
</a>
</g>
2020-07-22 11:01:23 +08:00
</g>
<!-- Node8 -->
2023-06-21 05:10:10 +08:00
<g id= "Node000008" class= "node" >
2020-07-22 11:01:23 +08:00
<title > Node8</title>
2023-06-21 05:10:10 +08:00
<g id= "a_Node000008" > <a xlink:title= " " >
2023-04-28 03:43:13 +08:00
<polygon fill= "#e0e0e0" stroke= "#999999" points= "517.5,-19.25 472.25,-19.25 472.25,0 517.5,0 517.5,-19.25" />
<text text-anchor= "middle" x= "494.88" y= "-5.75" font-family= "Helvetica,sans-Serif" font-size= "10.00" > stdio.h</text>
2020-07-22 11:01:23 +08:00
</a>
</g>
</g>
<!-- Node1->Node8 -->
2023-06-21 05:10:10 +08:00
<g id= "edge7_Node000001_Node000008" class= "edge" >
2020-07-22 11:01:23 +08:00
<title > Node1- > Node8</title>
2023-06-21 05:10:10 +08:00
<g id= "a_edge7_Node000001_Node000008" > <a xlink:title= " " >
2023-09-28 02:38:24 +08:00
<path fill= "none" stroke= "#63b8ff" d= "M376.13,-54.84C399.56,-46.12 435.24,-32.83 461.37,-23.1" />
<polygon fill= "#63b8ff" stroke= "#63b8ff" points= "462.35,-26.47 470.5,-19.7 459.91,-19.91 462.35,-26.47" />
2023-06-21 05:10:10 +08:00
</a>
</g>
2020-07-22 11:01:23 +08:00
</g>
<!-- Node9 -->
2023-06-21 05:10:10 +08:00
<g id= "Node000009" class= "node" >
2020-07-22 11:01:23 +08:00
<title > Node9</title>
2023-06-21 05:10:10 +08:00
<g id= "a_Node000009" > <a xlink:title= " " >
2023-04-28 03:43:13 +08:00
<polygon fill= "#e0e0e0" stroke= "#999999" points= "582.62,-19.25 535.12,-19.25 535.12,0 582.62,0 582.62,-19.25" />
<text text-anchor= "middle" x= "558.88" y= "-5.75" font-family= "Helvetica,sans-Serif" font-size= "10.00" > stdlib.h</text>
2020-07-22 11:01:23 +08:00
</a>
</g>
</g>
<!-- Node1->Node9 -->
2023-06-21 05:10:10 +08:00
<g id= "edge8_Node000001_Node000009" class= "edge" >
2020-07-22 11:01:23 +08:00
<title > Node1- > Node9</title>
2023-06-21 05:10:10 +08:00
<g id= "a_edge8_Node000001_Node000009" > <a xlink:title= " " >
2023-09-28 02:38:24 +08:00
<path fill= "none" stroke= "#63b8ff" d= "M388.11,-54.79C421.17,-46.46 471.68,-33.66 523.66,-20.07" />
<polygon fill= "#63b8ff" stroke= "#63b8ff" points= "524.52,-23.46 533.31,-17.54 522.75,-16.69 524.52,-23.46" />
2023-06-21 05:10:10 +08:00
</a>
</g>
2020-07-22 11:01:23 +08:00
</g>
<!-- Node10 -->
2023-06-21 05:10:10 +08:00
<g id= "Node000010" class= "node" >
2020-07-22 11:01:23 +08:00
<title > Node10</title>
2023-06-21 05:10:10 +08:00
<g id= "a_Node000010" > <a xlink:title= " " >
2023-04-28 03:43:13 +08:00
<polygon fill= "#e0e0e0" stroke= "#999999" points= "649,-19.25 600.75,-19.25 600.75,0 649,0 649,-19.25" />
<text text-anchor= "middle" x= "624.88" y= "-5.75" font-family= "Helvetica,sans-Serif" font-size= "10.00" > string.h</text>
2020-07-22 11:01:23 +08:00
</a>
</g>
</g>
<!-- Node1->Node10 -->
2023-06-21 05:10:10 +08:00
<g id= "edge9_Node000001_Node000010" class= "edge" >
2020-07-22 11:01:23 +08:00
<title > Node1- > Node10</title>
2023-06-21 05:10:10 +08:00
<g id= "a_edge9_Node000001_Node000010" > <a xlink:title= " " >
2023-09-28 02:38:24 +08:00
<path fill= "none" stroke= "#63b8ff" d= "M406.91,-54.8C453.23,-46.9 521.44,-34.66 589.5,-19.66" />
<polygon fill= "#63b8ff" stroke= "#63b8ff" points= "589.94,-23.15 598.94,-17.56 588.42,-16.31 589.94,-23.15" />
2023-06-21 05:10:10 +08:00
</a>
2020-07-22 11:01:23 +08:00
</g>
</g>
2023-06-21 05:10:10 +08:00
</g>
</svg>
<g id= "navigator" transform= "translate(0 0)" fill= "#404254" >
<rect fill= "#f2f5e9" fill-opacity= "0.5" stroke= "#606060" stroke-width= ".5" x= "0" y= "0" width= "60" height= "60" />
<use id= "zoomplus" xlink:href= "#zoomPlus" x= "17" y= "9" onmousedown= "handleZoom(evt,'in')" />
<use id= "zoomminus" xlink:href= "#zoomMin" x= "42" y= "9" onmousedown= "handleZoom(evt,'out')" />
<use id= "reset" xlink:href= "#resetDef" x= "30" y= "36" onmousedown= "handleReset()" />
<use id= "arrowup" xlink:href= "#arrowUp" x= "0" y= "0" onmousedown= "handlePan(0,-1)" />
<use id= "arrowright" xlink:href= "#arrowRight" x= "0" y= "0" onmousedown= "handlePan(1,0)" />
<use id= "arrowdown" xlink:href= "#arrowDown" x= "0" y= "0" onmousedown= "handlePan(0,1)" />
<use id= "arrowleft" xlink:href= "#arrowLeft" x= "0" y= "0" onmousedown= "handlePan(-1,0)" />
</g>
<svg viewBox= "0 0 15 15" width= "100%" height= "30px" preserveAspectRatio= "xMaxYMin meet" >
<g id= "arrow_out" transform= "scale(0.3 0.3)" >
<a xlink:href= "udp__server_8c__incl_org.svg" target= "_base" >
<rect id= "button" ry= "5" rx= "5" y= "6" x= "6" height= "38" width= "38"
fill="#f2f5e9" fill-opacity="0.5" stroke="#606060" stroke-width="1.0"/>
<path id= "arrow"
d="M 11.500037,31.436501 C 11.940474,20.09759 22.043105,11.32322 32.158766,21.979434 L 37.068811,17.246167 C 37.068811,17.246167 37.088388,32 37.088388,32 L 22.160133,31.978069 C 22.160133,31.978069 26.997745,27.140456 26.997745,27.140456 C 18.528582,18.264221 13.291696,25.230495 11.500037,31.436501 z"
style="fill:#404040;"/>
</a>
</g>
2020-07-22 11:01:23 +08:00
</svg>
2023-06-21 05:10:10 +08:00
<style type= 'text/css' >
< ![CDATA[
[data-mouse-over-selected='false'] { opacity: 0.7; }
[data-mouse-over-selected='true'] { opacity: 1.0; }
]]>
</style>
<script type= "application/ecmascript" > < ![CDATA[
document.addEventListener('DOMContentLoaded', (event) => {
highlightEdges();
highlightAdjacentNodes();
});
]]></script>
2020-07-22 11:01:23 +08:00
</svg>