您的位置:首页 > 理论基础 > 计算机网络

.Net网络通讯编程[利用Socket实现字串、文件、序列化对象传输]--使用封装的网络服务2

2012-03-28 09:42 1436 查看
直接使用Socket做客户端,采用Udp

客户端代码:

示范代码using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net.Sockets;
using System.Net;
using TcpLabCommon;
using System.IO;

namespace UdpLabSvr2
{
class Program
{
static void Main(string[] args)
{
//Socket serverSocket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
IPEndPoint endPoint = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 6000);
//serverSocket.Bind(endPoint);

UdpClient udpClient = new UdpClient(endPoint);

NetPacketService packetSvr = new NetPacketUdpService(udpClient.Client, endPoint);

do
{
NetPacket packet = packetSvr.ReceivePacket();
switch (packet.PacketHead.PType)
{
case PacketType.STRING:
Console.WriteLine(Convert.ToString(packet.Data));
break;
case PacketType.BINARY:
NetFile f = packetSvr.ParseFile((Byte[])packet.Data);
Console.WriteLine("成功接收文件:" + f.FileName);
FileStream fs = new FileStream(f.FileName, FileMode.Create);
fs.Write(f.Content, 0, f.Content.Length);
fs.Flush();
fs.Close();
break;
case PacketType.COMPLEX:
Book book = packet.Data as Book;
Console.WriteLine(book.Title + "\t" + book.Price);
break;
default:
break;
}
} while (true);
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐