各位高手,我有一个VB.NET编写的"windows 应用程序",其中有一个form1类,如果想转成web网页开发程序,该如何修改呢?
亲爱的各位大侠,小妹刚学VB.NET,好多东西不太理解,烦请大家指教下面这段程序实现的功能是socket数据传输,在“windows应用程序”里面开发的时候是基于form1的,而WEB里没有form1,所以我原封不动转到web网页开发里就出了问题
用“///”标记出的代码行是涉及到该问题的,请大家帮我看看,应该怎么改好吗?
/// Public Class form1
///Inherits System.Windows.Forms.Form
Public s_socket As Socket
Public c_socket As Socket
Protected Sub Button4_Click(ByVal sender As Object, ByVal e As System.EventArgs) '建立连接
Dim hostname As String = Dns.GetHostName
Dim serverip As IPAddress = Dns.GetHostEntry(hostname).AddressList(0)
TextBox2.Text = serverip.ToString
Button1.Enabled = True
Button2.Enabled = True
' Dim hostname As String = Dns.GetHostName 把这两句从try catch里拿出来,避免报错
' Dim serverip As IPAddress = Dns.GetHostEntry(hostname).AddressList(0)
Try
Dim port As String = "1988"
Dim server1 As New TcpListener(serverip, Int32.Parse(port))
server1.Start()
TextBox1.Text = "等待联机中"
Dim listen1 As New server_thread(server1)
listen1.main1 = Me
Dim serverthread1 As New Thread(New ThreadStart(AddressOf listen1.startup))
serverthread1.Start()
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Sub
Protected Sub Button3_Click(ByVal sender As Object, ByVal e As System.EventArgs) '发送
Dim str1 As String
Try
str1 = TextBox1.Text
Dim databuf() As Byte = Encoding.Unicode.GetBytes(str1.ToCharArray)
s_socket.Send(databuf, databuf.Length, SocketFlags.None)
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
TextBox1.Text = ""
End Sub
Public Class server_thread
/// Friend main1 As form1
Private p_tcp As TcpListener
Public Sub New(ByVal tcp1 As TcpListener)
Me.p_tcp = tcp1
End Sub
Public Sub startup()
Try
/// main1.s_socket = p_tcp.AcceptSocket
/// main1.TextBox1.Text = "联机中"
Dim client1 As IPEndPoint = CType(main1.s_socket.RemoteEndPoint, IPEndPoint)
While True
Dim databuf(1024) As Byte
Dim x As Integer = main1.s_socket.Receive(databuf, 0, main1.s_socket.Available, SocketFlags.None)
Dim str1 As String = Encoding.Unicode.GetString(databuf, 0, x)
If str1.Length > 0 Then
str1 = str1 & Chr(13) & Chr(10)
main1.TextBox3.Text += str1
End If
If str1 = "close" Then
/// main1.TextBox1.Text = "离线"
Exit While
End If
End While
main1.s_socket.Shutdown(SocketShutdown.Both)
main1.s_socket.Close()
Catch ex As Exception
MessageBox.Show(ex.Message)
If main1.s_socket.Connected Then
main1.s_socket.Close()
End If
End Try
End Sub
End Class
End Class --------------------编程问答-------------------- WEB没有socket
--------------------编程问答-------------------- LZ,没高清B/S和C/S啊 --------------------编程问答-------------------- 要配IIS啊 --------------------编程问答-------------------- 杯具!
Web应用程序和WinForm程序是完全不同的,工作模式也是完全不同的。找一些Web开发的书籍来熟悉一下原理。 --------------------编程问答-------------------- 数据传输干啥,上传东西到服务器,这也根本不能想到socket的啊
补充:.NET技术 , VB.NET