实验环境:visual studio2015 && wireshark
一.用C#编写一个控制台hello world程序,实现如下功能:在屏幕上连续输出50行“hello cqjtu!重交物联2018级”;同时打开一个网络UDP 套接字,向室友电脑或树莓派发送这50行消息。
UDP简介:
UDP作为一种简单的、面向数据报的无连接协议,提供的是不一定可靠的传输服务。所谓的“无连接”是指在正式通信前不必与对方先建立连接,不管对方状态如何都直接发送过去。
1.在vs中创建一个c#的控制台程序
2.按照这样的方式创建一个server服务器程序
服务器代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Net.Sockets;
using System.Net;
namespace server
{
class Program
{
static void Main(string[] args)
{
UdpClient udpRec = new UdpClient(8888);
Console.WriteLine("服务器已开启!");
try
{
while (true)
{
IPEndPoint remoteIpEndPoint = new IPEndPoint(IPAddress.Any, 0);
byte[] recBytes = udpRec.Receive(ref remoteIpEndPoint);
string returnData = Encoding.Default.GetString(recBytes);
Console.WriteLine("接收到的数据是:" + returnData);
}
}
catch (Exception e)
{
Console.WriteLine(e);
}
finally
{
udpRec.Close();
}
}
}
}
3.创建client客户端程序
代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Net.Sockets;
using System.Net;
namespace client
{
class Program
{
static void Main(string[] args)
{
int j = 0;
while (j < 50)
{
Console.WriteLine("hello cqjtu!重交物联2018级");
j++;
}
UdpClient client = new UdpClient("127.0.0.1", 8888);
Console.WriteLine("正在准备发送数据!");
try
{
while (j>0)
{
string str = "hello cqjtu!重交物联2018级";
byte[] sendBytes = Encoding.Default.GetBytes(str);
client.Send(sendBytes, sendBytes.Length);
j--;
}
}
catch (Exception e)
{
Console.WriteLine(e);
}
finally
{
client.Close();
}
Console.WriteLine("数据发送成功!");
Console.Read();
}
}