网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 大学论文导航 设计下载 最新论文 下载排行 原创论文 论文源代码
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > VB.net > 正文

VB.net2008创建发送与接收端程序

来源:http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 14/07/12

鉴于大家对VB.net十分关注,我们编辑小组在此为大家搜集整理了“VB.net2008创建发送与接收端程序”一文,供大家参考学习!

  本篇文章的主要开发环境是Visual Studio 2008,Visual Studio系列产品一直以来都提供了强大的控件功能,然而我们利用这些控件可以编写出功能强大的应用程序。本文主要利用微软的最新.net开发工具为大家展示一个发送与接收端程序的开发过程,让大家对Socket更加熟悉,很适合.net开发工具的初学者,具有一定的实用价值。 
  打开 Visual Studio 2008在文件 (File) 菜单上,单击新建项目 (New Project)。 在新建项目 (New Project) 对话框的模板 (Templates) 窗格中,单击 Windows 应用程序(Windows Application)。单击确定 (OK) 如图1。
  

VB.net2008创建发送与接收端程序(图一)

  我们需要创建两个窗体,一个是发送端(Form1窗体),另外一个是接收端(Form2窗体)
  详细操作步骤如下:
  选择Form1窗体,在Form1窗体中添加如下控件:
  Label1、Label2、Label3、 Button1控件、OpenFileDialog1控件
  控件属性设置如下:  
  Label1 属性Text 已经发送的文件长度:
  Label2 属性Text 为空
  Label3 属性Text 字节数
  Button1 属性Text 发送文件  
  最终界面效果如下:
  

VB.net2008创建发送与接收端程序(图二)

  选择Form2窗体,在Form2窗体中添加如下控件:
  Label1、Label2、TextBox1 、Button1控件、OpenFileDialog1控件、SaveFileDialog1控件
  控件属性设置如下:
  Label1 属性Text 已接收的文件:
  Label2 属性Text 为空
  TextBox1 属性Multiline
  属性ScrollBars True
  Both
  Button1 属性Text 接收文件并保存
  最终界面效果如下:
  
  

VB.net2008创建发送与接收端程序(图三)

  好了界面工作已经完成了,接下来我们需要输入代码了
  选择Form1窗体,进入代码编辑器中
  首先我们需要进行声明:
  Imports System.Net.Sockets
  Imports System.Net
  Imports System.IO  
  Public Class Form1
  Inherits System.Windows.Forms.Form  
  进入Button1_Click事件中
  Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  Dim mysocket As New Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)
  ''声明socket
  Dim myipendponit As New IPEndPoint(IPAddress.Parse("127.0.0.1"), 8888) ''建立一个终结点
  OpenFileDialog1.Filter = "文本文件(.txt) *.txt"
  OpenFileDialog1.InitialDirectory = "c:\"
  If OpenFileDialog1.ShowDialog() = DialogResult.OK Then
  Dim fs As New IO.FileStream(OpenFileDialog1.FileName, _
  IO.FileMode.OpenOrCreate, IO.FileAccess.Read) ''你所要传输的文件
  Dim ssize(fs.Length - 1) As Byte
  Dim br As New BinaryReader(fs) ''处理要传输的文件
  br.Read(ssize, 0, ssize.Length - 1)
  
  mysocket.Connect(myipendponit) ''连接到远程计算机
  mysocket.Send(ssize) ''发送文件
  Label2.Text = fs.Length()
  fs.Close()
  mysocket.Shutdown(Net.Sockets.SocketShutdown.Send)
  ''关闭已发送连接
  mysocket.Close() ''关闭本机socket
  End If
  End Sub  
  进入Form1_Load事件中
  Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  Dim window2 As New Form2()
  window2.Show()
  End Sub  
  选择Form2窗体,进入代码编辑器中


  首先我们需要进行声明:  
  Imports System.Net.Sockets
  Imports System.Net
  Imports System.IO
  Public Class Form2
  Inherits System.Windows.Forms.Form
  Dim receivesocket As New Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)  
  进入Form2_Load事件中
  Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  Dim hostipendpoint As New IPEndPoint(IPAddress.Parse("127.0.0.1"), 8888)
  receivesocket.Bind(hostipendpoint)
  ''建立远程计算机的的socket
  receivesocket.Listen(2) ''监听socket
  End Sub

  进入Button1_Click事件中

  Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

  SaveFileDialog1.Filter = "文本文件(.txt) *.txt"

  SaveFileDialog1.FileName = "接收的文件.txt"

  SaveFileDialog1.InitialDirectory = "c:Mytext"  

  If SaveFileDialog1.ShowDialog() = DialogResult.OK Then

  Dim fs As New IO.FileStream(SaveFileDialog1.FileName, _

  IO.FileMode.OpenOrCreate)

  ''接收数据并将其保存到一个新的文件

  Dim rebyte(229888) As Byte

  Dim myhostsocket As Socket = receivesocket.Accept()

  ''发送端计算机建立连接

  Dim wr As New BinaryWriter(fs) ''流写

  myhostsocket.Receive(rebyte)

  wr.Write(rebyte, 0, rebyte.Length - 1)

  fs.Close()

  myhostsocket.Shutdown(SocketShutdown.Receive)

  myhostsocket.Close()

  Label2.Text = SaveFileDialog1.FileName

  

  ''读取已保存的文件

  Dim Readw As StreamReader

  Readw = File.OpenText(SaveFileDialog1.FileName)  

  '' 设置指针到开始位置

  Readw.BaseStream.Seek(0, SeekOrigin.Begin)

  Readw.BaseStream.Position = 0

  While (Readw.Peek() > -1)

  TextBox1.Text += Readw.ReadLine() & vbCrLf

  End While

  Readw.Close()  

  End If

  End Sub  

  好了代码输入完毕,接下来我们来运行程序测试一下

  程序启动后会弹出Form1窗体(发送端)和Form2窗体(接收端),我们选择Form1窗体(发送端)点击发送按钮,随意选择一个文本文件即可,看一看效果,如图4

VB.net2008创建发送与接收端程序(图四)

  接下来我们需要选择Form2窗体(接收端)点击接收文本并保存按钮图5
  

VB.net2008创建发送与接收端程序(图五)

  
  这个窗体是利用了TCP协议进行了数据的通信,在传输时必须设置同时打开发送与接收端窗体才能进行数据的传输。如图6
  
  

VB.net2008创建发送与接收端程序(图六)

  通过以上的测试,程序运行成功,我们主要利用了Socket以及TCP文件传输的技术进行了数据的发送与接收,希望此程序实例能够给大家带来帮助。

网学推荐

免费论文

原创论文

设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号