{"id":13868,"date":"2024-03-15T08:02:44","date_gmt":"2024-03-15T08:02:44","guid":{"rendered":"https:\/\/www.silicloud.com\/blog\/how-can-i-listen-for-incoming-data-using-the-c-tcpclient\/"},"modified":"2025-08-06T00:32:16","modified_gmt":"2025-08-06T00:32:16","slug":"how-can-i-listen-for-incoming-data-using-the-c-tcpclient","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/blog\/how-can-i-listen-for-incoming-data-using-the-c-tcpclient\/","title":{"rendered":"C# TcpClient: Listen for Incoming Data"},"content":{"rendered":"<p>In C#, you can use the TcpClient class to listen for incoming data. Here is an example code:<\/p>\n<pre class=\"post-pre\"><code class=\"lang-csharp\">using System;\r\nusing System.Net;\r\nusing System.Net.Sockets;\r\nusing System.Text;\r\n\r\npublic class TcpClientExample\r\n{\r\n    public static void Main()\r\n    {\r\n        \/\/ \u521b\u5efaTcpClient\u5bf9\u8c61\uff0c\u5e76\u8fde\u63a5\u5230\u6307\u5b9a\u7684IP\u5730\u5740\u548c\u7aef\u53e3\u53f7\r\n        TcpClient client = new TcpClient();\r\n        client.Connect(\"127.0.0.1\", 8080);\r\n\r\n        \/\/ \u83b7\u53d6\u7f51\u7edc\u6d41\u5bf9\u8c61\r\n        NetworkStream stream = client.GetStream();\r\n\r\n        \/\/ \u63a5\u6536\u6570\u636e\u7684\u7f13\u51b2\u533a\r\n        byte[] buffer = new byte[1024];\r\n\r\n        \/\/ \u7528\u4e8e\u5b58\u50a8\u63a5\u6536\u5230\u7684\u6570\u636e\r\n        StringBuilder data = new StringBuilder();\r\n\r\n        while (true)\r\n        {\r\n            \/\/ \u8bfb\u53d6\u7f51\u7edc\u6d41\u4e2d\u7684\u6570\u636e\r\n            int bytesRead = stream.Read(buffer, 0, buffer.Length);\r\n\r\n            \/\/ \u5982\u679c\u6ca1\u6709\u6570\u636e\u53ef\u8bfb\uff0c\u9000\u51fa\u5faa\u73af\r\n            if (bytesRead == 0)\r\n            {\r\n                break;\r\n            }\r\n\r\n            \/\/ \u5c06\u63a5\u6536\u5230\u7684\u6570\u636e\u8f6c\u6362\u4e3a\u5b57\u7b26\u4e32\u5e76\u5b58\u50a8\u8d77\u6765\r\n            data.Append(Encoding.ASCII.GetString(buffer, 0, bytesRead));\r\n        }\r\n\r\n        \/\/ \u5173\u95ed\u7f51\u7edc\u6d41\u548cTcpClient\u5bf9\u8c61\r\n        stream.Close();\r\n        client.Close();\r\n\r\n        \/\/ \u8f93\u51fa\u63a5\u6536\u5230\u7684\u6570\u636e\r\n        Console.WriteLine(\"Received data: {0}\", data.ToString());\r\n    }\r\n}\r\n<\/code><\/pre>\n<p>In the above code, we start by creating a TcpClient object and connecting to a specified IP address and port number. Next, we obtain the network stream object from the TcpClient object and use the Read() method to read data from the network stream. The data read is stored in a StringBuilder object. Finally, we close the network stream and TcpClient object, and output the received data.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In C#, you can use the TcpClient class to listen for incoming data. Here is an example code: using System; using System.Net; using System.Net.Sockets; using System.Text; public class TcpClientExample { public static void Main() { \/\/ \u521b\u5efaTcpClient\u5bf9\u8c61\uff0c\u5e76\u8fde\u63a5\u5230\u6307\u5b9a\u7684IP\u5730\u5740\u548c\u7aef\u53e3\u53f7 TcpClient client = new TcpClient(); client.Connect(&#8220;127.0.0.1&#8221;, 8080); \/\/ \u83b7\u53d6\u7f51\u7edc\u6d41\u5bf9\u8c61 NetworkStream stream = client.GetStream(); \/\/ \u63a5\u6536\u6570\u636e\u7684\u7f13\u51b2\u533a byte[] buffer = [&hellip;]<\/p>\n","protected":false},"author":10,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","footnotes":""},"categories":[1],"tags":[18645,18643,3216,1860,18644],"class_list":["post-13868","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-c-networkstream","tag-c-tcpclient","tag-network-programming","tag-socket-programming","tag-tcp-listener"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>C# TcpClient: Listen for Incoming Data - Blog - Silicon Cloud<\/title>\n<meta name=\"description\" content=\"Learn to use C# TcpClient to listen for incoming data with NetworkStream. Step-by-step code example included.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.silicloud.com\/blog\/how-can-i-listen-for-incoming-data-using-the-c-tcpclient\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"C# TcpClient: Listen for Incoming Data\" \/>\n<meta property=\"og:description\" content=\"Learn to use C# TcpClient to listen for incoming data with NetworkStream. Step-by-step code example included.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/blog\/how-can-i-listen-for-incoming-data-using-the-c-tcpclient\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-03-15T08:02:44+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-08-06T00:32:16+00:00\" \/>\n<meta name=\"author\" content=\"Jackson Davis\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:site\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jackson Davis\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-can-i-listen-for-incoming-data-using-the-c-tcpclient\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-can-i-listen-for-incoming-data-using-the-c-tcpclient\/\"},\"author\":{\"name\":\"Jackson Davis\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/55a10b8b0457c35884c25677889ad350\"},\"headline\":\"C# TcpClient: Listen for Incoming Data\",\"datePublished\":\"2024-03-15T08:02:44+00:00\",\"dateModified\":\"2025-08-06T00:32:16+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-can-i-listen-for-incoming-data-using-the-c-tcpclient\/\"},\"wordCount\":91,\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"keywords\":[\"C# NetworkStream\",\"C# TcpClient\",\"Network programming\",\"Socket programming\",\"TCP Listener\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-can-i-listen-for-incoming-data-using-the-c-tcpclient\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/how-can-i-listen-for-incoming-data-using-the-c-tcpclient\/\",\"name\":\"C# TcpClient: Listen for Incoming Data - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\"},\"datePublished\":\"2024-03-15T08:02:44+00:00\",\"dateModified\":\"2025-08-06T00:32:16+00:00\",\"description\":\"Learn to use C# TcpClient to listen for incoming data with NetworkStream. Step-by-step code example included.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-can-i-listen-for-incoming-data-using-the-c-tcpclient\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/blog\/how-can-i-listen-for-incoming-data-using-the-c-tcpclient\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-can-i-listen-for-incoming-data-using-the-c-tcpclient\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.silicloud.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"C# TcpClient: Listen for Incoming Data\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"name\":\"Silicon Cloud Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\",\"name\":\"Silicon Cloud Blog\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"contentUrl\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"width\":1024,\"height\":1024,\"caption\":\"Silicon Cloud Blog\"},\"image\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\",\"https:\/\/twitter.com\/SiliCloudGlobal\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/55a10b8b0457c35884c25677889ad350\",\"name\":\"Jackson Davis\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/2fdb47d6df1226e92380d96973782572a97b0675d098bb914410dec348eb5d29?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/2fdb47d6df1226e92380d96973782572a97b0675d098bb914410dec348eb5d29?s=96&d=mm&r=g\",\"caption\":\"Jackson Davis\"},\"url\":\"https:\/\/www.silicloud.com\/blog\/author\/jacksondavis\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"C# TcpClient: Listen for Incoming Data - Blog - Silicon Cloud","description":"Learn to use C# TcpClient to listen for incoming data with NetworkStream. Step-by-step code example included.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.silicloud.com\/blog\/how-can-i-listen-for-incoming-data-using-the-c-tcpclient\/","og_locale":"en_US","og_type":"article","og_title":"C# TcpClient: Listen for Incoming Data","og_description":"Learn to use C# TcpClient to listen for incoming data with NetworkStream. Step-by-step code example included.","og_url":"https:\/\/www.silicloud.com\/blog\/how-can-i-listen-for-incoming-data-using-the-c-tcpclient\/","og_site_name":"Blog - Silicon Cloud","article_publisher":"https:\/\/www.facebook.com\/SiliCloudGlobal\/","article_published_time":"2024-03-15T08:02:44+00:00","article_modified_time":"2025-08-06T00:32:16+00:00","author":"Jackson Davis","twitter_card":"summary_large_image","twitter_creator":"@SiliCloudGlobal","twitter_site":"@SiliCloudGlobal","twitter_misc":{"Written by":"Jackson Davis","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.silicloud.com\/blog\/how-can-i-listen-for-incoming-data-using-the-c-tcpclient\/#article","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/how-can-i-listen-for-incoming-data-using-the-c-tcpclient\/"},"author":{"name":"Jackson Davis","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/55a10b8b0457c35884c25677889ad350"},"headline":"C# TcpClient: Listen for Incoming Data","datePublished":"2024-03-15T08:02:44+00:00","dateModified":"2025-08-06T00:32:16+00:00","mainEntityOfPage":{"@id":"https:\/\/www.silicloud.com\/blog\/how-can-i-listen-for-incoming-data-using-the-c-tcpclient\/"},"wordCount":91,"publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"keywords":["C# NetworkStream","C# TcpClient","Network programming","Socket programming","TCP Listener"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/blog\/how-can-i-listen-for-incoming-data-using-the-c-tcpclient\/","url":"https:\/\/www.silicloud.com\/blog\/how-can-i-listen-for-incoming-data-using-the-c-tcpclient\/","name":"C# TcpClient: Listen for Incoming Data - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/#website"},"datePublished":"2024-03-15T08:02:44+00:00","dateModified":"2025-08-06T00:32:16+00:00","description":"Learn to use C# TcpClient to listen for incoming data with NetworkStream. Step-by-step code example included.","breadcrumb":{"@id":"https:\/\/www.silicloud.com\/blog\/how-can-i-listen-for-incoming-data-using-the-c-tcpclient\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/blog\/how-can-i-listen-for-incoming-data-using-the-c-tcpclient\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/blog\/how-can-i-listen-for-incoming-data-using-the-c-tcpclient\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.silicloud.com\/blog\/"},{"@type":"ListItem","position":2,"name":"C# TcpClient: Listen for Incoming Data"}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/blog\/#website","url":"https:\/\/www.silicloud.com\/blog\/","name":"Silicon Cloud Blog","description":"","publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.silicloud.com\/blog\/#organization","name":"Silicon Cloud Blog","url":"https:\/\/www.silicloud.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","contentUrl":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","width":1024,"height":1024,"caption":"Silicon Cloud Blog"},"image":{"@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/SiliCloudGlobal\/","https:\/\/twitter.com\/SiliCloudGlobal"]},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/55a10b8b0457c35884c25677889ad350","name":"Jackson Davis","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/2fdb47d6df1226e92380d96973782572a97b0675d098bb914410dec348eb5d29?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/2fdb47d6df1226e92380d96973782572a97b0675d098bb914410dec348eb5d29?s=96&d=mm&r=g","caption":"Jackson Davis"},"url":"https:\/\/www.silicloud.com\/blog\/author\/jacksondavis\/"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/13868","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/users\/10"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/comments?post=13868"}],"version-history":[{"count":2,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/13868\/revisions"}],"predecessor-version":[{"id":157877,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/13868\/revisions\/157877"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/media?parent=13868"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/categories?post=13868"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/tags?post=13868"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}