中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > 编程语言 > Visual Basic > 综合文章
用VB的WINSOCK控件发送大于8K的BMP
作者:未知 时间:2005-08-07 20:53 出处:编程爱好者网站 责编:chinaitpower
              摘要:用VB的WINSOCK控件发送大于8K的BMP
作者:lcmcome

服务器端: 
Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Const theScreen = 1

Private Sub Form_Load()
tcpServer.LocalPort = 1001 ' 设置监听端口号
tcpServer.Listen ' 开始监听


End Sub

Private Sub tcpServer_ConnectionRequest(ByVal requestID As Long)
If tcpServer.State <> sckClosed Then tcpServer.Close
tcpServer.Accept requestID

End Sub

Private Sub tcpServer_DataArrival(ByVal bytesTotal As Long)
Dim a As String
tcpServer.GetData a


If a = "b" Then
Call keybd_event(vbKeySnapshot, theScreen, 0, 0)

Picture1.Picture = Clipboard.GetData(vbCFBitmap)
SavePicture Picture1.Image, "d:\ww.bmp"



Dim buf() As Byte
Dim position As Long
Open "d:\ww.bmp" For Binary As #1
position = 0
Do While Not EOF(1)
position = positon + 1
ReDim Preserve buf(1 To position)
Get #1, , buf(position)
Loop
Close #1

tcpServer.SendData buf

End If

End Sub

客户端:
Private Sub Command1_Click()


tcpClient.RemoteHost = txtip.Text
tcpClient.RemotePort = 1001
tcpClient.Connect ' 进行连接


End Sub

Private Sub Command2_Click()
Picture1.Picture = LoadPicture("d:\wr.bmp")
End Sub

Private Sub Command3_Click()

tcpClient.SendData "b"
End Sub

Private Sub tcpClient_DataArrival(ByVal bytesTotal As Long)


Dim receivefile(1 To 119862) As Byte
tcpClient.GetData receivefile, vbArray + vbByte

'告诉Winsock控件收到的是字节数组类型的数据
Open "d:\wr.bmp" For Binary As #1

Put #1, , receivefile

Close #1

End Sub

Private Sub Winsock1_Error(ByVal Number As Integer, Description As String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, CancelDisplay As Boolean)

End Sub

Private Sub Text1_Change()

End Sub

关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有