vb.netsock,vbnetsocket线程等待

VB的sock函数

本例共两个工程:一个验证端,一个测试端

创新互联建站是一家集网站建设,陆丰企业网站建设,陆丰品牌网站建设,网站定制,陆丰网站建设报价,网络营销,网络优化,陆丰网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。

简单的实现方法就是用WinSock控件。在工程中添加组件选 Microsft WinSock 6.0 (记得是这个,我计算机上没有 VB),把该控件拖到工程窗体中,假设命名为:sckClient,把 sckClient 的Index 值设为0,协议类型设为TCP类型 并添加以下代码(验证端代码):

Option Explicit

Private Sub Form1_Load()

with sckClient(0)

.close

.LocalPort=1234

.Listen

End with

End Sub

Private Sub sckClient_ConnectionRequest(Index As Integer,ByVal requestID As Long)

Load sckClient(sckClient.Ubound +1)

With sckClient(sckClient.Ubound)

.close

.Accept requestID

End With

End Sub

Private Sub sckClient_DataArrival(Index As Integer, ByVal bytesTotal As Long)

Dim strBuffer As String

sckClient(Index).GetData strBuffer

'这里的 Select 语句可以根据自己的验证机制(逻辑)改动

Select Case strBuffer

Case "AccountA"

sckClient(Index).SendData "OK"

Case "AccountB"

sckClient(Index).SendData "No"

Case Else

sckClient(Index).SendData "No"

End Select

End Sub

Private Sub sckClient_SendComplete(Index As Integer)

sckClient(Index).close

Unload sckClient(Index)

End Sub

客户端工程也添加一个 WinSock 控件,命名为 sckTest,协议类型也是 TCP, RemoteHost设为服务验证端的IP地址,端口设为服务验证端sckClient的端,本例为1234,在 Form1 中添加一个文本框 TextBox1 一按扭 Command1,并添加以下代码:

Option Explicit

Private Sub Command1_Click()

if TextBox1.Text"" then

sckTest.connect

end if

End Sub

Private Sub sckTest_Connect()

sckTest.SendData TextBox1.Text

End Sub

Private Sub sckTest_DataArrival(ByVal bytesTotal As Long)

Dim strBuffer As String

sckTest.GetData strBuffer

if LCase(strBuffer)="ok" then

msgbox "验证成功!"

else

msgbox "验证失败!"

end if

sckTest.close

End Sub

由于我的计算机没有装VB,本例我没有测试过,不过思路就这样,如果有问题,请与我交流: QQ:20648424 E-Mail:post.yg@163.com

VB 如何用:socket 发送数据

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.net socket中的当客户端连接Server的时候怎么取得客户端的IP地址?

1.绑定的ip是服务器的ip地址,服务器是固定的,客户端连接的是一个已知的服务器端。

2.客户端的话,连接到服务器时,服务器accept后,就可以获得客户端的连接信息,包括ip地址和端口。

我是学c的,在c语言中,socket-bind-listen-accept-....,在accept函数中有选项,如下caddr结构体中就存有accept后客户端的ip地址

连接端口和传输方式等信息,clientsock[1]则为accept新的描述符,如你程序中soc2一样

clientsock[1]

=

accept(sfd,(struct

sockaddr*)caddr,len);

vb中应该也有类时的函数,你网上好好找一下,或者看看相关书籍.

跪求大神 指点vb.net 怎么 启用事件 事件到达处理? 求大神吧这个vbs的修改成vb.net的谢谢

dim sockf=CreateObject("MSWinsock.Winsock","sockp_")

Sub sockp_DataArrival(ByVal bytesTotal)

sockf.GetData( da,VbString)

End Sub


当前标题:vb.netsock,vbnetsocket线程等待
分享路径:http://scyanting.com/article/dscjocg.html