作者:布拉格mi_716 | 来源:互联网 | 2023-07-15 20:22
使用Socket发送和接收消息在ASP.NET应用程序中,可以通过Socket发送和接收消息。发送的消息可以是文本内容、文件或其他类型的数据。本实例介绍使用System.Net.S
使用Socket发送和接收消息
在ASP.NET应用程序中,可以通过Socket发送和接收消息。发送的消息可以是文本内容、文件或其他类型的数据。本实例介绍使用System.Net.Sockets名字空间中的方法发送和接收文件的方法。
技术要点
本实例介绍如何使用ASP.NET通过System.Net.Sockets名字空间中的方法发送和接收文件。在发送过程中,首先介绍读取文件的方法,并把文件读取到二进制数组中,然后使用Sockets中的Send()方法发送文件的数据。
跟我做
1.创建新ASP.NET应用程序
在Visual Studio .NET 2003集成开发环境中创建新的ASP.NET Web应用程序,命名为Example_12_7。
2.设计页面MySocket.aspx
把应用程序Example_12_7的默认页面WebForm1.aspx重命名为MySocket.aspx,并在该页面上添加,页面MySocket.aspx的设计界面如图12-19所示。
图12-19 页面MySocket.aspx的设计界面
页面MySocket.aspx的HTML设计代码如下:
<%@ Page language="c#" Codebehind="MySocket.aspx.cs" AutoEventWireup="false" Inherits="Example_12_7.MySocket" %>
<HTML>
<HEAD>
<title>Example_12_7:使用Socket发送和接收消息title>
HEAD>
<asp:Label id="LabelMessage" runat="server">网页正在发送数据,请等待……asp:Label>
<asp:Button ID="ReceiveBtn" Runat="server" Text="接收数据">asp:Button>
<asp:Label id="LabelData" runat="server">asp:Label>td>
HTML>
3.添加Socket名字空间
由于页面MySocket.aspx在发送和接收信息时需要使用Socket类实现HTTP等一些属性,它们被包含在名字空间System.Net和System.Net.Sockets中,因此需要引入这些名字空间。程序代码如下:
//引入名字空间
using System.Net;
using System.IO;
using System.Net.Sockets;
4.创建被发送的文件myFile.txt
在应用程序Example_12_7的根目录下创建使用Socket发送的文件myFile.txt,它为一个text类型的文本文件,其内容如图12-20所示。
图12-20 被发送的myFile.txt文件
5.设计页面MySocket.aspx的事件和函数
页面MySocket.aspx调用函数Page_Load(object sender,System.EventArgs e)初始化,该函数调用函数SocketSend()发送文件信息。函数SocketSend()首先创建发送信息的Socket对象,并定义发送的IP地址和端口,然后读取myFile.txt文件的信息,最后再调用函数Send()发送文件的数据。函数Page_Load(object sender, System.EventArgs e)和函数SocketSend()的程序代码如下:
private void Page_Load(object sender, System.EventArgs e)
}
单击页面MySocket.aspx中的【接收数据】按钮触发事件ReceiveBtn_Click(object sender, System.EventArgs e),该事件调用函数SendReceiveData()接收从函数SocketSend()发送的数据。函数SendReceiveData()首先创建用来接收数据的Socket对象,并设计接收数据的IP地址和端口,最后把接收的数据写入文件并保存。函数SendReceiveData()和事件ReceiveBtn_Click(object sender, System. EventArgs e)的程序代码如下:
private void ReceiveBtn_Click(object sender, System.EventArgs e)
}
运行效果
设置页面MySocket.aspx为应用程序的起始页面。按F5键运行,出现如图12-21所示的初始界面。
图12-21 页面MySocket.aspx的初始界面