当前位置:首页 » 操作系统 » vbsocket源码

vbsocket源码

发布时间: 2023-07-08 09:54:04

A. 400分求vb.net,求一个socket的编程实例,详细见问题补充:

至少需要
ImportsSystem
ImportsSystem.Net
ImportsSystem.Net.Sockets
ImportsSystem.Threading
ImportsSystem.Text
还要了解异步与委托
简单点的话
subtcplisten()'监听过程
ConstLPortAsInteger=6850'本地监听端口
DimIPaddAsIPAddress=Dns.GetHostEntry(Dns.GetHostName()).AddressList(1)’本地IP
'addresslist里面包括IPV6和IPV4
DimIPEPAsNewIPEndPoint(IPadd,LPort)'结点
基亏TCPL=NewTcpListener(IPEP)’建立监听实例
TCPL.Start()'开始监听
掘碧IfTCPL.Pending=TrueThen'如果有连接接入
DimTCPLXAsNewSocket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp)'建立一个新的SOCKET
TCPLX=TCPL.Accept()’将第一个接入挂起的连接传给新建SOCKET,因为监听的SOCKET还要继续监听
dimRipepasnewipendpoint=TCPLX.RemoteEndPoint'此时获得远程的ip与端口号
listbox.add(ripep.ip)
dimbuffasbyte()
buff=TCPLX.Receive()'listen>accept>recieve这时候可以接受判锋举数据了
dimsasstring=Encoding.Default.GetString(buff)'转换成文本
msg"s"
TCPLX.send(buff)'这个是发送
endif
EndSub
长时间没写,可能有点小错误,你自己调试调试,大概步骤就是listen>accept>recieve,最好看看msdn,那个学起来才系统

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

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

用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

C. VB的截取封包和发送封包源码

参考资料:VB截取封包 关于VB开发外挂 尤其是API HOOK方面的分歧较多 其实vb做外挂一点也不逊色!
上过MSDN的开发者都知道 vb vc c# vj的样例是统一的 仅仅是语法表达不一样罢了!也就是说用VC写的功能 同样也能用VB写出来!
下面提供一段VB利用API截获RAW SOCKET封包的代码,请不吝赐教!
Dim soc As Long, dwRc As Long
Dim RemoteAddr As sockaddr
Dim LocalAddr As sockaddr
Dim inBuffer, outBuffer As String
Dim byteReturn As Long
Dim RetMsg As String
Dim strData As String
Dim nReceived As Long
Const MAX_PACK_LEN = 4096
Dim keepRun As Boolean
Dim asc() As Byte
Private Type TcpHeader 'typedef struct tcp_hdr //定义TCP首部
th_sport As Integer '; //16位源端口
th_dport As Integer '; //16位目的端口
th_seq As Long '; //32位序列号
th_ack As Long '; //32位确认号
th_lenres As Byte '; //4位首部长度/6位保留字
th_flag As Byte '; //6位标志位
th_win As Integer '; //16位窗口大小
th_sum As Integer '; //16位校验和
th_urp As Integer '; //16位紧急数据偏移量
End Type
........ 资料地址: http://hi..com/zyq0ting/blog/item/ab10783eca88783b70cf6ceb.html

D. 关于vb.net中socket编程实例:服务器端的一些问题

Socket类连接后 可以通过类中的 RemoteEndPoint 来获取远程IP和端口信息.
要注意的是.需要将它强制转化为 IPEndPoint类型 然后通过 IPEndPoint.Address以及IPEndPoint.Port来获取对应的IP及端口

例:
Dim REV_SCK As New Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp)
'这里创建一个UDP Socket连接的实例 TCP也是一样的

'省略SOCKET连接的代码 当SOCKET连接成功后 可以用下面的语句获取远程信息
Dim IP as string ,Port as integer
'定义IP和Port变量 用来保存地址及端口
IP = IPAddress.Parse(CType(REV_SCK.RemoteEndPoint, IPEndPoint).Address.ToString())
Port = IPAddress.Parse(CType(REV_SCK.RemoteEndPoint, IPEndPoint).Port)

热点内容
oracle卸载数据库 发布:2025-03-18 03:05:15 浏览:44
编译时生成固件怎么办 发布:2025-03-18 03:04:30 浏览:704
c语言breakcontinue 发布:2025-03-18 02:52:41 浏览:162
服务器云主机改成云电脑 发布:2025-03-18 02:46:11 浏览:423
php环境的搭建 发布:2025-03-18 02:44:47 浏览:490
java实现文件上传到ftp 发布:2025-03-18 02:43:25 浏览:402
编程出游戏 发布:2025-03-18 02:43:15 浏览:179
使用公网ip搭建服务器 发布:2025-03-18 02:34:23 浏览:215
android从程序员到架构师之路 发布:2025-03-18 02:32:52 浏览:298
高压存储罐 发布:2025-03-18 02:23:18 浏览:760