home *** CD-ROM | disk | FTP | other *** search
/ Planet Source Code Jumbo …e CD Visual Basic 1 to 7 / 3_2004-2005.ISO / Data / Zips / ___P2P_Fil176620752004.psc / client / frmMain1.frm < prev    next >
Text File  |  2004-07-05  |  7KB  |  245 lines

  1. VERSION 5.00
  2. Object = "{248DD890-BB45-11CF-9ABC-0080C7E7B78D}#1.0#0"; "MSWINSCK.OCX"
  3. Object = "{F9043C88-F6F2-101A-A3C9-08002B2F49FB}#1.2#0"; "COMDLG32.OCX"
  4. Begin VB.Form frmMain 
  5.    Caption         =   "File Transter (Client)"
  6.    ClientHeight    =   2340
  7.    ClientLeft      =   60
  8.    ClientTop       =   345
  9.    ClientWidth     =   4680
  10.    LinkTopic       =   "Form1"
  11.    ScaleHeight     =   2340
  12.    ScaleWidth      =   4680
  13.    StartUpPosition =   3  'Windows Default
  14.    Begin MSWinsockLib.Winsock wcom 
  15.       Left            =   2880
  16.       Top             =   1200
  17.       _ExtentX        =   741
  18.       _ExtentY        =   741
  19.       _Version        =   393216
  20.       Protocol        =   1
  21.    End
  22.    Begin MSWinsockLib.Winsock wlogin 
  23.       Left            =   1800
  24.       Top             =   1080
  25.       _ExtentX        =   741
  26.       _ExtentY        =   741
  27.       _Version        =   393216
  28.    End
  29.    Begin MSWinsockLib.Winsock wserver 
  30.       Left            =   1080
  31.       Top             =   1440
  32.       _ExtentX        =   741
  33.       _ExtentY        =   741
  34.       _Version        =   393216
  35.    End
  36.    Begin VB.CommandButton Command1 
  37.       Caption         =   "Connect"
  38.       Height          =   495
  39.       Left            =   1440
  40.       TabIndex        =   7
  41.       Top             =   1800
  42.       Width           =   1335
  43.    End
  44.    Begin VB.CheckBox Check1 
  45.       Caption         =   "Server"
  46.       Height          =   375
  47.       Left            =   3720
  48.       TabIndex        =   6
  49.       Top             =   1320
  50.       Width           =   855
  51.    End
  52.    Begin VB.TextBox txtServer 
  53.       Height          =   285
  54.       Left            =   960
  55.       TabIndex        =   4
  56.       Top             =   480
  57.       Width           =   3615
  58.    End
  59.    Begin VB.CommandButton cmdSend 
  60.       Caption         =   "Send"
  61.       Height          =   495
  62.       Left            =   3000
  63.       TabIndex        =   3
  64.       Top             =   1800
  65.       Width           =   1335
  66.    End
  67.    Begin MSComDlg.CommonDialog CDLG 
  68.       Left            =   0
  69.       Top             =   1800
  70.       _ExtentX        =   847
  71.       _ExtentY        =   847
  72.       _Version        =   393216
  73.    End
  74.    Begin VB.CommandButton cmdBrowse 
  75.       Caption         =   "Browse"
  76.       BeginProperty Font 
  77.          Name            =   "MS Sans Serif"
  78.          Size            =   8.25
  79.          Charset         =   0
  80.          Weight          =   700
  81.          Underline       =   0   'False
  82.          Italic          =   0   'False
  83.          Strikethrough   =   0   'False
  84.       EndProperty
  85.       Height          =   375
  86.       Left            =   0
  87.       TabIndex        =   1
  88.       Top             =   0
  89.       Width           =   855
  90.    End
  91.    Begin VB.TextBox txtSend 
  92.       Height          =   375
  93.       Left            =   960
  94.       TabIndex        =   0
  95.       Text            =   "File to send"
  96.       Top             =   0
  97.       Width           =   3615
  98.    End
  99.    Begin MSWinsockLib.Winsock Winsock1 
  100.       Left            =   600
  101.       Top             =   1800
  102.       _ExtentX        =   741
  103.       _ExtentY        =   741
  104.       _Version        =   393216
  105.    End
  106.    Begin VB.Label Label1 
  107.       AutoSize        =   -1  'True
  108.       Caption         =   "Server IP:"
  109.       BeginProperty Font 
  110.          Name            =   "MS Sans Serif"
  111.          Size            =   8.25
  112.          Charset         =   0
  113.          Weight          =   700
  114.          Underline       =   0   'False
  115.          Italic          =   0   'False
  116.          Strikethrough   =   0   'False
  117.       EndProperty
  118.       Height          =   195
  119.       Left            =   0
  120.       TabIndex        =   5
  121.       Top             =   480
  122.       Width           =   870
  123.    End
  124.    Begin VB.Label lblStatus 
  125.       Caption         =   "Label1"
  126.       Height          =   735
  127.       Left            =   0
  128.       TabIndex        =   2
  129.       Top             =   960
  130.       Width           =   4695
  131.    End
  132. End
  133. Attribute VB_Name = "frmMain"
  134. Attribute VB_GlobalNameSpace = False
  135. Attribute VB_Creatable = False
  136. Attribute VB_PredeclaredId = True
  137. Attribute VB_Exposed = False
  138. Option Explicit
  139.  
  140. Const RPORT As Integer = 5555
  141. Dim Buf() As Byte
  142. Dim bufPos As Long
  143. Dim Sendbytes As Long
  144.  
  145. Sub SendFile(strFile As String)
  146. ReDim Buf(FileLen(strFile) - 1)
  147.  
  148. Open strFile For Binary As #1
  149.   Get #1, 1, Buf
  150. Close #1
  151.  
  152. With Winsock1
  153.   .RemoteHost = txtRemote.Text
  154.   .RemotePort = RPORT
  155.   .Connect
  156. End With
  157.  
  158. lblStatus.Caption = "Trying to connect..."
  159. End Sub
  160.  
  161. Private Sub Check1_Click()
  162. If Check1.Value = 0 Then
  163.   Winsock1.Close
  164.   Close #1
  165. Else
  166.   Winsock1.LocalPort = RPORT
  167.   Winsock1.Listen
  168.   Open App.Path & "\downloaded" For Binary As #1
  169.   bufPos = 1
  170. End If
  171. End Sub
  172.  
  173. Private Sub cmdBrowse_Click()
  174. CDLG.Filter = "All files (*.*)|*.*"
  175. CDLG.ShowOpen
  176. txtSend.Text = CDLG.FileName
  177.  
  178. lblStatus.Caption = CDLG.FileName & " is ready for take-off!"
  179. End Sub
  180.  
  181. Private Sub cmdSend_Click()
  182. SendFile (txtSend.Text)
  183. End Sub
  184.  
  185. Private Sub Command1_Click()
  186. wcom.Close
  187. wcom.RemoteHost = txtServer.Text
  188. wcom.LocalPort = 11111
  189. wcom.RemotePort = 7777
  190. wcom.Bind wcom.LocalPort
  191. wcom.SendData "Hello"
  192. End Sub
  193.  
  194. Private Sub Form_Load()
  195. wserver.Close
  196. wserver.Bind 7778, wserver.LocalIP
  197. wlogin.Close
  198. wlogin.Bind 7779, wserver.LocalIP
  199. End Sub
  200.  
  201. Private Sub Form_Unload(Cancel As Integer)
  202. Close #1
  203. Winsock1.Close
  204. Unload Me
  205. End Sub
  206.  
  207. Private Sub Winsock1_Close()
  208. Close #1
  209. Sendbytes = 0
  210. Winsock1.Close
  211. End Sub
  212.  
  213. Private Sub Winsock1_Connect()
  214. 'change label-caption and send data when connected
  215. lblStatus.Caption = "Connected to " & txtRemote.Text
  216. Winsock1.SendData Buf
  217. End Sub
  218.  
  219. Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long)
  220. 'let's hope only one connects, or else the 1st user will be disconnected
  221. Winsock1.Close
  222. Winsock1.Accept requestID 'accept one connection
  223. End Sub
  224.  
  225. Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
  226. Dim newBuf() As Byte
  227.  
  228. Winsock1.GetData newBuf 'recieve data
  229. Put #1, bufPos, newBuf 'put newBuf (the data received) into #1 at bufPos
  230. bufPos = bufPos + UBound(newBuf) + 1 'get the right position
  231. End Sub
  232.  
  233. Private Sub Winsock1_SendComplete()
  234. lblStatus.Caption = "Done."
  235. Winsock1.Close
  236. Buf() = ""
  237. End Sub
  238.  
  239. Private Sub Winsock1_SendProgress(ByVal bytesSent As Long, ByVal bytesRemaining As Long)
  240. Sendbytes = Sendbytes + bytesSent
  241. 'UBound -> Returns a long containing the largest available
  242. '          subscript for the indicated dimension of an array
  243. lblStatus.Caption = Int(((Sendbytes / UBound(Buf)) * 100)) & " %  completed..."
  244. End Sub
  245.