c#插座发送&接收&返回简单应用实例

  

好久没有写过博客了,最近因项目需求,需要用到套接字来进行通信,简单写了几个例子,记录一下,代码很简单,无非就是接收与发送,以及接收到数据后返回一个自定义信息,也可以定义为发送。

  

接收端因为需求要监听某个端口,则在一开始判断一下,要使用的端口是否被占用,定义一个处理方法,以下为处理代码:

        公共静态bool PortIsUse (int端口)   {   bool isUse=false;   IPGlobalProperties ipProperties=IPGlobalProperties.GetIPGlobalProperties ();   IPEndPoint [] ipEndPoints=ipProperties.GetActiveTcpListeners();//找到已用端口   foreach (ipEndPoints IPEndPoint端点)   {   如果端点。端口==端口)//判断是否存在   {   isUse=true;   打破;   }   }   返回isUse;   }      

<强>定义接收端:

        TcpListener tcpl=new TcpListener(新IPAddress(新byte[]{127, 0, 0, 1}), 1111);//定义一个TcpListener对象监听本地的1111端口   tcpl.Start();//监听开始   而(真)   {   套接字s=tcpl.AcceptSocket();//挂起一个套接字对象   字符串远程=s.RemoteEndPoint.ToString();//获取发送端的IP及端口转备为字符串用   Byte[]流=新字节[1024];   s.Receive(流);//接收发送端发过来的数据,写入字节数组//BGW_Handle。ReportProgress(1,“接收来自[+远程+”]信息”);   字符串_data=https://www.yisu.com/zixun/Encoding.UTF8.GetString(流);//将字节数据数组转为字符串   s.Send(流);//将接收到的内容,直接返回接收端   s.Shutdown (SocketShutdown.Both);   }   tcpl.Stop();//停止监听      

<强>,定义发送端代码:

        IPAddress ip=IPAddress.Parse(127.0.0.1 ");//接收端所在ip   IPEndPoint ipEnd=new IPEndPoint (ip, 1111);//接收端所监听的接口   新的套接字(Socket套接字=AddressFamily。互联网络,SocketType。流,ProtocolType.Tcp);//初始化一个套接字对象   试一试   {   socket.Connect (ipEnd);//连接指定IP&端口   }   抓住(SocketException e)   {   Console.WriteLine(“连接失败”);   Console.WriteLine (e.ToString ());   返回;   }   socket.Send (Encoding.UTF8.GetBytes(" 1234567890 "));//发送数据   而(真)//定义一个循环接收返回数据   {   byte [] data=https://www.yisu.com/zixun/new字节[1024];   socket.Receive(数据);//接收返回数据   字符串stringData=Encoding.UTF8.GetString(数据);   如果(! string.IsNullOrWhiteSpace (stringData))   {   Console.Write (stringData);   打破;   }   }29 socket.Shutdown (SocketShutdown.Both);   socket.Close();//关闭套接字      

从上面代码来看,还是很简单的,这也要归功于微软所做的工作,以上代码若有错误之处可在评论里提出来。

  

这篇c#插座发送,接收,返回简单应用实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

c#插座发送&接收&返回简单应用实例