VB怎么给winsock的端口号赋值
来源:百度知道 编辑:UC知道 时间:2024/06/22 01:35:06
但是对端口这样不行呢 Winsock1.LocalPort = Text4.Text Winsock1.RemotePort = Text4.Text 这样赋值就通不过 是语法有错吗 端口号是整数 比如3001 是不是就不能这样赋呢
应该怎么赋呢 我需在外面的Text上直接输端口号 求教
Private Sub Command1_Click()
Winsock1.SendData txtSend.Text
End Sub
Private Sub Form_Load()
Dim my As String
Winsock1.Protocol = sckUDPProtocol '设置为UDP协义
Winsock1.LocalPort = Text4.Text
Winsock1.RemotePort = Text4.Text
Winsock1.RemoteHost = Text3.Text
End Sub
Private Sub Text3_Change()
Winsock1.RemoteHost = Text3.Text
End Sub
Private Sub Text4_Change()
Winsock1.LocalPort = Text4.Text
Winsock1.RemotePort = Text4.Text
End
运行的时候说类型不匹配,但是如果把Text4.Text改成整数的话,就完全没问题。
复制下面的代码
Private Sub Command1_Click()
Winsock1.SendData txtSend.Text
End Sub
Private Sub Form_Load()
Command2.Caption = "连接"
End Sub
Private Sub Command2_Click()
If Len(Text4.Text) = 0 Or Val(Text4.Text) > 65535 Then
MsgBox "请输入正确的端口号"
Exit Sub
End If
Dim my As String
Winsock1.Protocol = sckUDPProtocol '设置为UDP协义
Winsock1.LocalPort = Text4.Text
Winsock1.RemotePort = Text4.Text
Winsock1.RemoteHost = Text3.Text
End Sub
Private Sub Text4_KeyPress(KeyAscii As Integer)
If Chr(KeyAscii) > 9 And KeyAscii <> 8 Then KeyAscii = 0
End Sub
Winsock1.LocalPort = Text4.Text
这样应该行,会不会是其它地方有问题。
因为Winsock的LocalPort和RemotePort属性都是Integer类型,TextBox的Text是String类型。
也就是说,如果程序禁止了隐式转换的话,单纯使用
Winsock1.LocalPort = Text4.Text
语句是会产生错误的
所以需要将String类型转换为Integer类型使类型匹配
将上面的语句更改为:
Winsock1.Loc