C# 实现简单的UDP
来源:互联网 发布:网络用语td是什么意思 编辑:程序博客网 时间:2024/05/24 02:38
UDP和TCP不同
UDP可以比喻为现实中的写信(当然不是email)
TCP可以比喻为显示中的打电话。
TCP可以保持连接,因此可以通过连接来发发消息
UDP不能保持连接,因此没有发送消息和接收消息都要加上对方地址
TCP的服务端和客户端很不同,服务端用TcpListner,客户端用TcpClient。
UDP的服务端和客户端很像,都用UDPClient. UDP的客户端和服务端都需要监听、回答
示例代码:
===================
服务端:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net;
using System.Net.Sockets;
using System.IO;
namespace QTCPServer1
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("服务端开始。。。");
UdpClient server = new UdpClient(51889);//A监听9
IPEndPoint dummy = null;
bool loop = true;
while (loop)
{
byte[] response = server.Receive(ref dummy);
byte[] request = null;
string s = Encoding.UTF8.GetString(response);
if (s == "Q")
{
request=Encoding.UTF8.GetBytes("OVER".ToCharArray());
server.Send(request, request.Length,dummy);//写入8
Console.WriteLine("结束服务");
break;
}
else
{
Console.WriteLine("收到:"+s);
request = Encoding.UTF8.GetBytes("这是一个回应".ToCharArray());
server.Send(request, request.Length, dummy);
}
}
server.Close();
Console.WriteLine("服务退出");
Console.ReadLine();
}
}
}
========================
客户端
==========================
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net;
using System.Net.Sockets;
using System.IO;
using System.Net;
namespace QTCPClient
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("客户端启动。。。。");
UdpClient client = new UdpClient(51888);//B监听8
while (true)
{
Console.Write("请写入一段话,Q退出:");
string s = Console.ReadLine();
byte[] request = Encoding.UTF8.GetBytes(s.ToCharArray());
client.Send(request, request.Length, "127.0.0.1", 51889);//写入9
IPEndPoint dummy = null;
byte[] response = client.Receive(ref dummy);
string sRes = Encoding.UTF8.GetString(response);
if (sRes != "OVER")
{
Console.WriteLine(sRes);
}
else
{
Console.WriteLine("收到OVER");
break;
}
}
client.Close();
Console.WriteLine("breaked");
Console.ReadLine();
}
}
}
========================
演示效果:
- C# 实现简单的UDP
- C#实现 UDP简单广播
- 简单的UDP协议实现
- 非常简单的UDP通信程序,C#
- C#简单的UDP通信例子
- Visual C# UDP协议的收发实现
- C#的Socket实现UDP协议通信
- C#的Socket实现UDP协议通信
- C#的Socket实现UDP协议通信
- C#的Socket实现UDP协议通信
- C#的Socket实现UDP协议通信
- UDP实现简单的超时重传
- UDP通信的简单实现(程序)
- 用UDP实现简单的聊天功能
- Boost实现简单的udp代理服务器
- Socket UDP 简单聊天的实现
- [MFC]UDP通信的简单实现
- UDP的组播简单实现
- TCP/IP详解学习笔记
- 字符串驻留
- linux 信号种类及说明
- VS2008设计界面假死
- js execCommand[转载]
- C# 实现简单的UDP
- COM+(存档)
- 如何在三个月内获得三年的工作经验------实际的很
- 详细讲解JavaScript脚本语言的 document 对象
- dbcp数据源的配置(tomcat)整理待续
- 动态创建表格:新增、删除行和单元格
- T-SQL学习笔记-程序设计基础-流程控制语句
- Alfresco在eclipse上debug环境搭建
- java 中文乱码问题