vb Winsock发送问题 20

本机电脑有多个网卡,每个网卡有多个IP,现在想用VBWinsock向其他机器发送数据,如何才能用本机中指定网卡的IP进行发送呢?... 本机电脑有多个网卡,每个网卡有多个IP,现在想用VB Winsock向其他机器发送数据,如何才能用本机中指定网卡的IP进行发送呢? 展开
 我来答
__喅__
2014-08-11 · 超过64用户采纳过TA的回答
知道答主
回答量:131
采纳率:0%
帮助的人:121万
展开全部
这里有个例子,你看看有没有什么启发。
Private Declare Function CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long) As BooleanDim bytData() As BytePrivate Sub Command1_Click() Winsock1.RemoteHost = Text1.Text Dim arr() As Byte Dim i As New PropertyBag i.WriteProperty "image", Picture1.Picture ReDim arr(1 To LenB(i.Contents)) arr = i.Contents If UBound(arr) <= 8192 Then '如果要发送的文件小于数据块大小,直接发送 Winsock1.SendData arr '发送数据 Exit Sub End IfEnd SubPrivate Sub Form_Load() With Winsock1 '信息发送与接收 .Protocol = sckUDPProtocol '使用UDP协议 .RemotePort = 9001 '要连接的端口 .LocalPort = 9001 .Bind '绑定到本地的端口上 End WithEnd SubPrivate Sub Form_Unload(Cancel As Integer) Erase bytDataEnd SubPrivate Sub Winsock1_DataArrival(ByVal bytesTotal As Long) Dim arr() As Byte ReDim arr(1 To bytesTotal) Winsock1.GetData arr ReDim Preserve bytData(1 To bytesTotal) CopyMemory bytData(1), arr(0), bytesTotal Dim i As New PropertyBag i.Contents = bytData Picture2.Picture = i.ReadProperty("image")End Sub
追问
这代码没有指定使用什么网卡或IP的功能。谢谢你的热心回答。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友bdb9803
2014-08-11 · TA获得超过1.1万个赞
知道大有可为答主
回答量:1.1万
采纳率:53%
帮助的人:9933万
展开全部
Winsock TCP方式发送数据,需要指定对方的IP,和发送的端口,无法指定本机的网卡和IP,而且也不需要指定本机的网卡和IP,因为建立TCP连接属于系统底层的事情,系统会自动寻找与对方IP匹配的本机网卡。
更多追问追答
追问
使用的是UDP协议,测试发送是能成功的,因为是多网卡的原因 LacalIP不能使用我所指定的IP,如果你熟悉这个的话请给点思路。
追答
UDP属于广播协议,会向所有IP地址发送数据,没必要指定IP
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式