[{"data":1,"prerenderedAt":288},["ShallowReactive",2],{"term-t\u002Ftcp":3,"related-t\u002Ftcp":268},{"id":4,"title":5,"acronym":6,"body":7,"category":247,"description":248,"difficulty":249,"extension":250,"letter":251,"meta":252,"navigation":253,"path":254,"related":255,"seo":261,"sitemap":262,"stem":265,"subcategory":266,"__hash__":267},"terms\u002Fterms\u002Ft\u002Ftcp.md","TCP","Transmission Control Protocol",{"type":8,"value":9,"toc":241},"minimark",[10,15,19,23,26,30,230,234,237],[11,12,14],"h2",{"id":13},"eli5-the-vibe-check","ELI5 — The Vibe Check",[16,17,18],"p",{},"TCP is like sending a package with delivery confirmation. The sender and receiver shake hands first, then every chunk of data is numbered and confirmed received. If anything goes missing, it gets resent. Very reliable, but a tiny bit slow.",[11,20,22],{"id":21},"real-talk","Real Talk",[16,24,25],{},"TCP is a connection-oriented transport-layer protocol that guarantees reliable, ordered, and error-checked delivery of data. It uses a three-way handshake to establish connections and acknowledgment packets (ACKs) to confirm delivery.",[11,27,29],{"id":28},"show-me-the-code","Show Me The Code",[31,32,37],"pre",{"className":33,"code":34,"language":35,"meta":36,"style":36},"language-javascript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u002F\u002F Node.js TCP server\nconst net = require('net');\nconst server = net.createServer((socket) => {\n  socket.write('Hello from TCP server!');\n  socket.on('data', (data) => console.log(data.toString()));\n});\nserver.listen(3000);\n","javascript","",[38,39,40,49,86,121,146,199,209],"code",{"__ignoreMap":36},[41,42,45],"span",{"class":43,"line":44},"line",1,[41,46,48],{"class":47},"sHwdD","\u002F\u002F Node.js TCP server\n",[41,50,52,56,60,64,68,71,74,78,80,83],{"class":43,"line":51},2,[41,53,55],{"class":54},"spNyl","const",[41,57,59],{"class":58},"sTEyZ"," net ",[41,61,63],{"class":62},"sMK4o","=",[41,65,67],{"class":66},"s2Zo4"," require",[41,69,70],{"class":58},"(",[41,72,73],{"class":62},"'",[41,75,77],{"class":76},"sfazB","net",[41,79,73],{"class":62},[41,81,82],{"class":58},")",[41,84,85],{"class":62},";\n",[41,87,89,91,94,96,99,102,105,107,109,113,115,118],{"class":43,"line":88},3,[41,90,55],{"class":54},[41,92,93],{"class":58}," server ",[41,95,63],{"class":62},[41,97,98],{"class":58}," net",[41,100,101],{"class":62},".",[41,103,104],{"class":66},"createServer",[41,106,70],{"class":58},[41,108,70],{"class":62},[41,110,112],{"class":111},"sHdIc","socket",[41,114,82],{"class":62},[41,116,117],{"class":54}," =>",[41,119,120],{"class":62}," {\n",[41,122,124,127,129,132,135,137,140,142,144],{"class":43,"line":123},4,[41,125,126],{"class":58},"  socket",[41,128,101],{"class":62},[41,130,131],{"class":66},"write",[41,133,70],{"class":134},"swJcz",[41,136,73],{"class":62},[41,138,139],{"class":76},"Hello from TCP server!",[41,141,73],{"class":62},[41,143,82],{"class":134},[41,145,85],{"class":62},[41,147,149,151,153,156,158,160,163,165,168,171,173,175,177,180,182,185,187,189,191,194,197],{"class":43,"line":148},5,[41,150,126],{"class":58},[41,152,101],{"class":62},[41,154,155],{"class":66},"on",[41,157,70],{"class":134},[41,159,73],{"class":62},[41,161,162],{"class":76},"data",[41,164,73],{"class":62},[41,166,167],{"class":62},",",[41,169,170],{"class":62}," (",[41,172,162],{"class":111},[41,174,82],{"class":62},[41,176,117],{"class":54},[41,178,179],{"class":58}," console",[41,181,101],{"class":62},[41,183,184],{"class":66},"log",[41,186,70],{"class":134},[41,188,162],{"class":58},[41,190,101],{"class":62},[41,192,193],{"class":66},"toString",[41,195,196],{"class":134},"()))",[41,198,85],{"class":62},[41,200,202,205,207],{"class":43,"line":201},6,[41,203,204],{"class":62},"}",[41,206,82],{"class":58},[41,208,85],{"class":62},[41,210,212,215,217,220,222,226,228],{"class":43,"line":211},7,[41,213,214],{"class":58},"server",[41,216,101],{"class":62},[41,218,219],{"class":66},"listen",[41,221,70],{"class":58},[41,223,225],{"class":224},"sbssI","3000",[41,227,82],{"class":58},[41,229,85],{"class":62},[11,231,233],{"id":232},"when-youll-hear-this","When You'll Hear This",[16,235,236],{},"\"HTTP runs on top of TCP.\" \u002F \"TCP guarantees packet delivery, unlike UDP.\"",[238,239,240],"style",{},"html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sHdIc, html code.shiki .sHdIc{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":36,"searchDepth":51,"depth":51,"links":242},[243,244,245,246],{"id":13,"depth":51,"text":14},{"id":21,"depth":51,"text":22},{"id":28,"depth":51,"text":29},{"id":232,"depth":51,"text":233},"networking","TCP is like sending a package with delivery confirmation.","intermediate","md","t",{},true,"\u002Fterms\u002Ft\u002Ftcp",[256,257,258,259,260],"UDP","IP","Three-Way Handshake","Socket","Port",{"title":5,"description":248},{"changefreq":263,"priority":264},"weekly",0.7,"terms\u002Ft\u002Ftcp",null,"AxIY7Wlq7pY6NuR-Vgm-oB7InzUCYxb8v9feqlh6yIM",[269,274,278,281,284],{"title":257,"path":270,"acronym":271,"category":247,"difficulty":272,"description":273},"\u002Fterms\u002Fi\u002Fip","Internet Protocol","beginner","IP is the postal system of the internet. Every device gets an address (an IP address) and all data gets wrapped in envelopes called packets.",{"title":260,"path":275,"acronym":266,"category":276,"difficulty":272,"description":277},"\u002Fterms\u002Fp\u002Fport","general","A port is like an apartment number on a building. Your computer is the building (localhost), and multiple services live inside.",{"title":259,"path":279,"acronym":266,"category":247,"difficulty":249,"description":280},"\u002Fterms\u002Fs\u002Fsocket","A socket is the combination of an IP address plus a port number — it's the complete 'address' for a specific connection.",{"title":258,"path":282,"acronym":266,"category":247,"difficulty":249,"description":283},"\u002Fterms\u002Ft\u002Fthree-way-handshake","The three-way handshake is the official name for how TCP sets up a connection in exactly three steps: SYN, SYN-ACK, ACK.",{"title":256,"path":285,"acronym":286,"category":247,"difficulty":249,"description":287},"\u002Fterms\u002Fu\u002Fudp","User Datagram Protocol","UDP is like shouting information across a room — fast but no guarantee anyone heard you. There's no handshake, no confirmation.",1776518317111]