[{"data":1,"prerenderedAt":316},["ShallowReactive",2],{"term-s\u002Fsocket":3,"related-s\u002Fsocket":300},{"id":4,"title":5,"acronym":6,"body":7,"category":281,"description":282,"difficulty":283,"extension":284,"letter":285,"meta":286,"navigation":287,"path":288,"related":289,"seo":294,"sitemap":295,"stem":298,"subcategory":6,"__hash__":299},"terms\u002Fterms\u002Fs\u002Fsocket.md","Socket",null,{"type":8,"value":9,"toc":275},"minimark",[10,15,19,23,26,30,264,268,271],[11,12,14],"h2",{"id":13},"eli5-the-vibe-check","ELI5 — The Vibe Check",[16,17,18],"p",{},"A socket is the combination of an IP address plus a port number — it's the complete 'address' for a specific connection. Think of it as a phone call: the IP is the building's phone number, the port is the extension, and the socket is the actual open line between two people.",[11,20,22],{"id":21},"real-talk","Real Talk",[16,24,25],{},"A socket is an endpoint in a network communication identified by an IP address and port number. A connection is uniquely defined by a 4-tuple: (source IP, source port, destination IP, destination port). Sockets can be TCP (stream) or UDP (datagram).",[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 socket example\nconst net = require('net');\nconst client = new net.Socket();\nclient.connect(80, 'example.com', () => {\n  console.log('Connected via socket!');\n  client.write('GET \u002F HTTP\u002F1.0\\r\\n\\r\\n');\n});\nclient.on('data', (data) => console.log(data.toString()));\n","javascript","",[38,39,40,49,86,112,151,176,203,213],"code",{"__ignoreMap":36},[41,42,45],"span",{"class":43,"line":44},"line",1,[41,46,48],{"class":47},"sHwdD","\u002F\u002F Node.js TCP socket example\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,110],{"class":43,"line":88},3,[41,90,55],{"class":54},[41,92,93],{"class":58}," client ",[41,95,63],{"class":62},[41,97,98],{"class":62}," new",[41,100,101],{"class":58}," net",[41,103,104],{"class":62},".",[41,106,5],{"class":66},[41,108,109],{"class":58},"()",[41,111,85],{"class":62},[41,113,115,118,120,123,125,129,132,135,138,140,142,145,148],{"class":43,"line":114},4,[41,116,117],{"class":58},"client",[41,119,104],{"class":62},[41,121,122],{"class":66},"connect",[41,124,70],{"class":58},[41,126,128],{"class":127},"sbssI","80",[41,130,131],{"class":62},",",[41,133,134],{"class":62}," '",[41,136,137],{"class":76},"example.com",[41,139,73],{"class":62},[41,141,131],{"class":62},[41,143,144],{"class":62}," ()",[41,146,147],{"class":54}," =>",[41,149,150],{"class":62}," {\n",[41,152,154,157,159,162,165,167,170,172,174],{"class":43,"line":153},5,[41,155,156],{"class":58},"  console",[41,158,104],{"class":62},[41,160,161],{"class":66},"log",[41,163,70],{"class":164},"swJcz",[41,166,73],{"class":62},[41,168,169],{"class":76},"Connected via socket!",[41,171,73],{"class":62},[41,173,82],{"class":164},[41,175,85],{"class":62},[41,177,179,182,184,187,189,191,194,197,199,201],{"class":43,"line":178},6,[41,180,181],{"class":58},"  client",[41,183,104],{"class":62},[41,185,186],{"class":66},"write",[41,188,70],{"class":164},[41,190,73],{"class":62},[41,192,193],{"class":76},"GET \u002F HTTP\u002F1.0",[41,195,196],{"class":58},"\\r\\n\\r\\n",[41,198,73],{"class":62},[41,200,82],{"class":164},[41,202,85],{"class":62},[41,204,206,209,211],{"class":43,"line":205},7,[41,207,208],{"class":62},"}",[41,210,82],{"class":58},[41,212,85],{"class":62},[41,214,216,218,220,223,225,227,230,232,234,237,240,242,244,247,249,251,254,256,259,262],{"class":43,"line":215},8,[41,217,117],{"class":58},[41,219,104],{"class":62},[41,221,222],{"class":66},"on",[41,224,70],{"class":58},[41,226,73],{"class":62},[41,228,229],{"class":76},"data",[41,231,73],{"class":62},[41,233,131],{"class":62},[41,235,236],{"class":62}," (",[41,238,229],{"class":239},"sHdIc",[41,241,82],{"class":62},[41,243,147],{"class":54},[41,245,246],{"class":58}," console",[41,248,104],{"class":62},[41,250,161],{"class":66},[41,252,253],{"class":58},"(data",[41,255,104],{"class":62},[41,257,258],{"class":66},"toString",[41,260,261],{"class":58},"()))",[41,263,85],{"class":62},[11,265,267],{"id":266},"when-youll-hear-this","When You'll Hear This",[16,269,270],{},"\"The server listens on a socket for incoming connections.\" \u002F \"WebSockets are different from regular TCP sockets.\"",[272,273,274],"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 .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}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 .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":276},[277,278,279,280],{"id":13,"depth":51,"text":14},{"id":21,"depth":51,"text":22},{"id":28,"depth":51,"text":29},{"id":266,"depth":51,"text":267},"networking","A socket is the combination of an IP address plus a port number — it's the complete 'address' for a specific connection.","intermediate","md","s",{},true,"\u002Fterms\u002Fs\u002Fsocket",[290,291,292,293],"Port","IP Address","TCP","WebSocket",{"title":5,"description":282},{"changefreq":296,"priority":297},"weekly",0.7,"terms\u002Fs\u002Fsocket","jSbKm4tTLdzVgJgyVzrR98Z49-u2Ldg3uag3cDgqoA0",[301,305,309,313],{"title":291,"path":302,"acronym":6,"category":281,"difficulty":303,"description":304},"\u002Fterms\u002Fi\u002Fip-address","beginner","An IP address is your device's home address on the internet.",{"title":290,"path":306,"acronym":6,"category":307,"difficulty":303,"description":308},"\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":292,"path":310,"acronym":311,"category":281,"difficulty":283,"description":312},"\u002Fterms\u002Ft\u002Ftcp","Transmission Control Protocol","TCP is like sending a package with delivery confirmation.",{"title":293,"path":314,"acronym":6,"category":281,"difficulty":283,"description":315},"\u002Fterms\u002Fw\u002Fwebsocket","WebSocket is like upgrading a walkie-talkie from push-to-talk to a full phone call.",1776518314125]