首页 > 编程语言 >C#TCP通讯

C#TCP通讯

时间:2023-06-29 13:55:12浏览次数:32  
标签:tcpClient sendData 通讯 receiveData C# UTF8 TCP sendString var

服务端代码

TcpListener tcpListener=new TcpListener(IPAddress.Parse("192.168.1.1"),9000);

tcpListener.Start();//启动服务

While(true)

{

TcpClient tcpClient=tcpListener.AcceptTCPClient();//收到链接

NetWorkStream steam=tcpClient.GetStream();

byte[] receiveData=new byte[1024];

var len=stream.Read(receiveData,0,1024);

string receiveString=Encoding.UTF8.GetString(receiveData,0,len);//字节数据解析成字符串

string sendString="收到信息";

var sendData=Encoding.UTF8.GetBytes(sendString);

stream.Write(sendData,0,sendData.Length);//向客户端发送信息

}

 

客户端代码

TCPClient tcpClient=new TCPClient();

tcpClient.Connect("192.168.1.1",9000);

NetWorkStream steam=tcpClient.GetStream();

string sendString="请求消息";

var sendData=Encoding.UTF8.GetBytes(sendString);

steam.Write(sendData,0,sendData.Length);//向服务端发送消息

byte[] receiveData=new byte[1024];

var len=stream.Read(receiveData,0,1024);

var receiveString=Encoding.UTF8.GetString(receiveData,0,len);//将接收服务端返回的字节解析成字符串

tcpClient.Close();

tcpClient.Dispose();

标签:tcpClient,sendData,通讯,receiveData,C#,UTF8,TCP,sendString,var
From: https://www.cnblogs.com/follow-discoverer/p/17513870.html

相关文章

  • C#中的using用法总结
      using一般有两个作用:  1、作为语句,用于定义一个范围,在此范围的末尾将释放对象(IDisposable和IAsyncDisposable接口)  2、作为指令,用于引入命名空间或者类型,或者为引入的命名空间或者类型定义别名  using语句  using语句应该都很熟悉了吧,从最早的ADO.net,或者对文件、......
  • 001.SQL的@@ROWCOUNT使用
    在线演示:http://v.youku.com/v_show/id_XMzMyMTg3MzI4.html演示下载:http://115.com/file/antb46tj演示重点SQL的系统变量@@ROWCOUNT返回的是上一语句影响的行数。最早的时候,我很自然的认为这个被影响的行数应该是类似于INSERT、UPDATE、DELETE这样的语句。因为,它们很......
  • [Telerik]RadDocking第04篇 设置面板的停靠状态IsPinned
    一、演示概述此演示展示了设置每个RadPane的IsPinned属性来控制面板是否被钉住,或者缩小到隐藏区域。所谓钉住面板,其实就是将面板固定住,而不是自动缩放到隐藏区域。通过将RadPane.IsPinned设置为True可以将面板固定住,设置为false则不固定面板,将其防止在停靠区域。相关下载(屏幕......
  • 02-ES6语法:const常量
    ES6标准中增加了新的关键字const来定义常量。使用const定义的常量,在后续的代码中将无法被改变。下面是简单的屏幕分享,不爱看文字的同道中人可以看视频。-_-一、基本常量首先我们来看下如何通过这个关键字定义常量,代码如下:<script>constPI=3.14159;console.info(PI)......
  • 华为交换机链路聚合Eth-trunk LACP配置实例
    链路聚合基本概念:链路聚合是把两台设备之间的链路聚集在一块,当做一条逻辑链路使用。链路聚合的作用:1.增加链路带宽:多个链路聚合成一个带宽更大的链路,一般采用基于流的负载均衡模式;2.增加链路可靠性:通过聚合组的多个链路,若一条物理链路出现问题,不会影响整个逻辑链路聚合组链路;3.实现......
  • 大数据分析工具有哪些?详解瓴羊Quick BI
    随着大数据时代的来临,企业对数据的需求变得越来越迫切。大数据分析工具,包括数据挖掘工具、大数据处理框架、商业智能及数据可视化工具等,正成为企业管理者的得力助手。瓴羊QuickBI作为一款国产BI工具,帮助企业用户实现高效、快速、准确的企业大数据处理与分析,成为国内优秀的大数据分......
  • 深入学习 GC 算法 - 标记清除算法
    博主介绍:✌博主从事应用安全和大数据领域,有8年研发经验,5年面试官经验,Java技术专家✌......
  • cdr软件怎么绘制立体图?cdr绘制立体图形的教程
    CorelDRAW的简称是cdr,是一款专业的矢量图绘制软件,一般都是用来绘制二维图形的,但是也可以绘制三维图形,下面内容就来用cdr软件演示绘制三维图形的教程cdr软件绘制三维图形的教程:进入CorelDRAW的操作界面,在左侧的工具箱列表中找到“椭圆形工具”,绘制出如图1所示的一个扁状椭圆形。图1:......
  • centos8.3 openssh8.0p1升级到9.0P1代码
    #!/bin/shcd/etc/yum.repos.dmkdirbackupmvCent*backupwget-O/etc/yum.repos.d/CentOS-Base.repohttps://mirrors.aliyun.com/repo/Centos-8.repoyum-ycleanallyum-ymakecacheyum-yinstallgccgcc-c++glibcmakeautoconfopensslopenssl-deve......
  • constructive algorithms
    E.MishaandPaintingshttps://codeforces.com/problemset/problem/1720/E题意:给到一个n*n矩阵,问至少需要几次操作才能使得矩阵中有exactlyk个点。每次操作定义为选定一个方阵,将其所有元素变为x,x自定义。n<=500,k<=n2,aij<=n2题解:对于这类构造题,我们往往希望粗调逼近所需值......