您现在的位置是: 首页 > 计算机系统 计算机系统

_vb winsock

tamoadmin 2024-08-31 人已围观

简介1.VB 如何用:socket 发送数据2.vb winsock 如何 现实UDP 或 TCP打洞3.请教关于vb中的winsock有时连接不上的问题4.VB Winsock最简单的;聊天程序源代码5.怎么用VB winsock(UDP协议)进行发送字符串?(急急急)6.我的VB没有winsock控件,怎样添加啊1、设:服务器 IP 地址:192.168.1.201 端口:24102、路由器的

1.VB 如何用:socket 发送数据

2.vb winsock 如何 现实UDP 或 TCP打洞

3.请教关于vb中的winsock有时连接不上的问题

4.VB Winsock最简单的;聊天程序源代码

5.怎么用VB winsock(UDP协议)进行发送字符串?(急急急)

6.我的VB没有winsock控件,怎样添加啊

_vb winsock

1、设:服务器 IP 地址:192.168.1.201 端口:2410

2、路由器的外网 IP 地址:183.15.238.15

3、设置路由器的虚拟服务:IP地址 192.168.1.201 端口:2410

4、客户端连接 183.15.238.15:2410 就可以了。

VB 如何用:socket 发送数据

在工程部件里添加个 Microsoft Winsock Control 6.0

From1:

Private?Sub?Command1_Click()

Winsock1.SendData?Text3.Text

End?Sub

Private?Sub?Form_Load()

Text1.Text?=?""

Text2.Text?=?""

Winsock1.LocalPort?=?10001

Text1.Text?=?Winsock1.LocalIP

Winsock1.Listen

End?Sub

Private?Sub?Winsock1_ConnectionRequest(ByVal?requestID?As?Long)

Winsock1.Close

Winsock1.Accept?requestID

End?Sub

Private?Sub?Winsock1_DataArrival(ByVal?bytesTotal?As?Long)

Dim?Mystr?As?String

Winsock1.GetData?Mystr

Text2.Text?=?Text2.Text?&?Chr(13)?&?Chr(10)?&?Mystr

End?Sub

Form2:

Private?Sub?Command1_Click()

Winsock1.RemoteHost?=?Text2.Text

Winsock1.Connect

End?Sub

Private?Sub?Command2_Click()

Winsock1.SendData?Text4.Text

End?Sub

Private?Sub?Form_Load()

Text1.Text?=?""

Text2.Text?=?""

Text3.Text?=?""

Text4.Text?=?""

Winsock1.RemotePort?=?10001

Text1.Text?=?Winsock1.LocalIP

End?Sub

Private?Sub?Winsock1_Connect()

MsgBox?""

End?Sub

Private?Sub?Winsock1_DataArrival(ByVal?bytesTotal?As?Long)

Dim?Mystr?As?String

Winsock1.GetData?Mystr

Text3.Text?=?Text3.Text?&?Chr(13)?&?Chr(10)?&?Mystr

End?Sub

vb winsock 如何 现实UDP 或 TCP打洞

1、首先看控件区有无串口控件,表明串口控件并未被启用,选择工程→部件→Micosoft comm Control6.0选项,点击应用,即可添加串口控件。

2、绘制两个text控件用于存储串口需要收发的数据。一个button控件用于发送指令,添加串口控件。

3、编写程序: Private Sub Command1_Click() MSComm1.Output = Text2.Text ‘发送数据End Sub Private Sub Form_Load()。

4、串口数据的收发都正常。

请教关于vb中的winsock有时连接不上的问题

兄弟,这个不太好弄.我觉得有两条方案可行:

1.需要这两个子网之外的一个固定IP做中转,也就是传统上的C/S模式,A组和B组做客户端,第三方的固定IP做服务器,用来转发消息.这个方式中从服务器发消息到内网时需要打洞,方法是"反连接",也就是用内网主动连接服务器的SOCKET回发消息;

2.就是改一下内网的结构,其中一组选出一台机器做为路由,内网成星型结构,中心结点具有外网IP,省去上方法一中需要一个服务器中转的问题;

关于打洞的内容和原理在文库中搜一下NAT和P2P相关内容,有写好的代码可以参考.比较直观的就是利用"反连接".

VB Winsock最简单的;聊天程序源代码

连不上的原因可能是:

1、一方断开链接以后,另一方没有进入listen状态。

2、某一方发生错误的时候,没有关闭winsock并重连

3、遇到错误时,应该使用一个timer来重启一下你的winsock

不明白的欢迎+百度HI

怎么用VB winsock(UDP协议)进行发送字符串?(急急急)

这个是我以前学习的一个实例。希望对你有帮助!!!

用VB实现客户——服务器(TCP/IP)编程实例

-

现在大多数语言都支持客户-服务器模式编程,其中VB给我们提供了很好的客户-服务器编程方式。下面我们用VB来实现TCP/IP网络编程。

TCP/IP协议是Internet最重要的协议。VB提供了WinSock控件,用于在TCP/IP的基础上进行网络通信。当两个应用程序使用Socket进行网络通信时,其中一个必须创建Socket服务器侦听,而另一个必须创建Socket客户去连接服务器。这样两个程序就可以进行通信了。

1.创建服务器,首先创建一个服务端口号。并开始侦听是否有客户请求连接。

建立一窗体,并向其增加一个Winsock控件(可在工程菜单中的部件项来添加此控件)

添加两文本框Text1,Text2,和一按钮Command1

Private Sub Form_Load()

SockServer.LocalPort = 2000 ′服务器端口号,最好大于1000

SockServer.Listen ′开始侦听

End Sub

Private Sub Form_Unload(Cancel As Integer)

SockServer.Close

End Sub

Private Sub SockServer_Close()

SockServer.Close

End Sub

Private Sub SockServer_ConnectionRequest(ByVal requestID As Long)

SockServer.Close

SockServer.Accept requestID ′表示客户请求连接的ID号

End Sub

′当客户向服务器发送数据到达后,产生DataArrival,在中接收数据,GetData方法接收数据。

Private Sub SockServer_Data

Arrival(ByVal bytesTotal As Long)

Dim s As String

SockServer.GetData s

Text1.Text = s

End Sub

当我需要向客户发送数据时,只需调用SendData方法。

Private Sub Command1_Click()

SockServer .SendData Text2.Text

text1.text = text2.text

text2.text = ""

End Sub

2.创建客户。要创建客户连接服务器,首先设置服务器主机名,如IP地址、域名或计算机名,然后设置服务器端口,最后连接服务器。

建立一窗体,并向其增加一个Winsock控件(可在工程菜单中的部件项来添加此控件),取名为:SockC1。添加两文本框Text1,Text2,和一按钮Command1

Private Sub Form_Load()

dim my as string

my = SockCl.RemoteHostIP

SockCl.RemoteHost = my

′表示服务器主机名

SockCl.RemotePort = 2000

′表示服务器端口名

SockCl.Connect

′连接到服务器

End Sub

Private Sub Form_Unload(Cancel As Integer)

SockCl.Close

End Sub

Private Sub SockCl_Close()

SockCl.Close

End Sub

Private Sub SockCl_DataArrival(ByVal bytesTotal As Long)

Dim s As String

SockCl.GetData s ′接收数据到文本框中

Text1.Text = s

End Sub

Private Sub Command1_Click()

SockCl.SendData Text2.Text ′向服务器发送数据

text1.text = text2.text

text2.text = ""

End Sub

3.进行通信。把这两个窗体分别编译成两个EXE文件,服务器Server.exe和客户Client.exe程序,并把它们分别安装在服务器端和客户端,这样就可以实现两者通信了。

------------------------------------整理后的代码如下-------------------------------

Private Sub Form_Load()

Dim my As String

my = SockCl.RemoteHostIP

SockCl.RemoteHost = my

SockCl.RemotePort = 2000

SockCl.Connect

End Sub

Private Sub Form_Unload(Cancel As Integer)

SockCl.Close

End Sub

Private Sub SockCl_Close()

SockCl.Close

End Sub

Private Sub SockCl_DataArrival(ByVal bytesTotal As Long)

Dim s As String

SockCl.GetData s

Text1.Text = s

End Sub

Private Sub Command1_Click()

SockCl.SendData Text2.Text

Text1.Text = Text2.Text

Text2.Text = ""

End Sub

Private Sub Form_Load()

SockServer.LocalPort = 2000

SockServer.Listen

End Sub

Private Sub Form_Unload(Cancel As Integer)

SockServer.Close

End Sub

Private Sub SockServer_Close()

SockServer.Close

End Sub

Private Sub SockServer_ConnectionRequest(ByVal requestID As Long)

SockServer.Close

SockServer.Accept requestID

End Sub

Private Sub Command1_Click()

SockServer.SendData Text2.Text

Text1.Text = Text2.Text

Text2.Text = ""

End Sub

Private Sub SockServer_DataArrival(ByVal bytesTotal As Long)

Dim s As String

SockServer.GetData s

Text1.Text = s

End Sub

我的VB没有winsock控件,怎样添加啊

发送端:

Private Sub Command1_Click()

Winsock1.SendData Text1.Text

End Sub

Private Sub Form_Load()

Form1.Caption = "发送端"

Text1.Text = ""

Command1.Caption = "发送"

Winsock1.LocalPort = 1000

Winsock1.RemotePort = 1001

Winsock1.RemoteHost = 对方IP

Winsock1.Protocol = sckUDPProtocol

Winsock1.Bind 1000, Winsock1.LocalIP

End Sub

接收端:

Private Sub Form_Load()

Form1.Caption = "接收端"

Text2.Text = ""

Winsock2.LocalPort = 1001

Winsock2.RemotePort = 1000

Winsock2.RemoteHost = 你的IP

Winsock2.Protocol = sckUDPProtocol

Winsock2.Bind 1001, Winsock2.LocalIP

End Sub

Private Sub Winsock2_DataArrival(ByVal bytesTotal As Long)

Dim a As String

Winsock2.GetData a, vbString

Text2.Text = a

End Sub

VB工具栏上点右键,选components,然后在controls页下点“browse”,找到

c:\windows\system32\mswinsck.ocx,就会在列表里看到Mircosoft Winsock control,前面的方格打上钩就可以用了

这个控件貌似只有企业版里有(完整版不清楚),精简版是肯定没有