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

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

2012-03-28 09:24 1206 查看
直接使用Socket做服务器端和客户端,采用Tcp协议:

客户端代码:

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

namespace TcpLabSvr2
{
/// <summary>
/// 服务器端使用TcpListener
/// </summary>
class Program
{
static void Main(string[] args)
{
TcpListener svrListen = new TcpListener(IPAddress.Parse("127.0.0.1"),6000);
svrListen.Start(3);
TcpClient client = svrListen.AcceptTcpClient();
NetworkStream netStream = client.GetStream();
NetPacketService packetSvr = new NetPacketTcpService(netStream);

do
{
NetPacket packet = packetSvr.ReceivePacket();
switch (packet.PacketHead.PType)
{
case PacketType.STRING:
Console.WriteLine(packet.Data.ToString());
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);
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐