Форум программистов, компьютерный форум, киберфорум
Assembler: Windows/protected mode
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
16 / 16 / 19
Регистрация: 13.12.2010
Сообщений: 76
1

Передача файлов по сокету

02.05.2013, 20:51. Показов 1326. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здраствуйте. Я уже писала тему, но уже решила передачу сообщений через сокеты, сейчас делаю передачу файлов по сокетам. Примеров на с++ куча, но у меня не совсем получается сделать это на masm. Подкажите, пожалуйста.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.05.2013, 20:51
Ответы с готовыми решениями:

Передача БД по сокету
Как передать БД(Access) с сервера(консоль) на клиент(Форма) по сокету?

Передача данных по сокету
Всем привет. Вопрос такой, если у меня программа в которой формируются данных для отправки, писал...

Передача TList по сокету
Здравствуйте. У меня вопрос, можно более грамотно передать данные с TList с помощью сокетов?...

Передача байтов по сокету
Добрый день. Возник вопрос с отправкой определенных байтов по сети. В С++ есть такой код byte x...

4
16 / 16 / 19
Регистрация: 13.12.2010
Сообщений: 76
06.05.2013, 19:14  [ТС] 2
Помогите, пожалуйста.
0
Администратор
12268 / 5333 / 268
Регистрация: 05.04.2011
Сообщений: 14,086
Записей в блоге: 2
07.05.2013, 23:00 3
kaas, код покажите - что написали уже?
0
16 / 16 / 19
Регистрация: 13.12.2010
Сообщений: 76
10.05.2013, 20:56  [ТС] 4
процедура на отправку
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
SendFile proc uses esi edi ebx
    LOCAL wsHostWhom:DWORD
    LOCAL HostWhom:sockaddr_in
    LOCAL ClientWhere:sockaddr_in
    LOCAL ClientSockAddrLength:DWORD
    LOCAL Command:DWORD
    LOCAL SizeOfBuffer:DWORD
    LOCAL SizeOfBufferForSend[64]:BYTE
    LOCAL BufferForSend[1024]:BYTE
    
    invoke socket, AF_INET, SOCK_STREAM, IPPROTO_IP
    .if eax==INVALID_SOCKET             
        invoke MessageBox,0,TEXT("Ñîêåò äëÿ â³äïðàâêè ïîâ³äîìëåíü íå áóâ ñòâîðåíèé :    "),0,MB_OK
        ret
    .endif
    mov wsHostWhom, eax
    mov ClientWhere.sin_family, AF_INET
    mov ClientWhere.sin_port, 4000;386Dh
    invoke GetDlgItemText, hWindow, IDC_IP,addr WhereHostIP, lengthof WhereHostIP
    invoke inet_addr, addr WhereHostIP
    mov ClientWhere.sin_addr, eax
    invoke connect, wsHostWhom, addr ClientWhere,  SIZEOF ClientWhere
    .if eax==SOCKET_ERROR
        invoke MessageBox,0,TEXT("connectSend :   "),0,MB_OK
        ret
    .endif
    mov edx,2
    mov Command,edx
    invoke send,wsHostWhom,addr Command,4,NULL
                
    mov ofn.lStructSize,SIZEOF lpofn
 
       push hWindow 
       pop  ofn.hwndOwner
       push hInstance
       pop  ofn.hInstance
 
       mov  ofn.lpstrFilter, OFFSET FilterString
       mov  ofn.lpstrFile, OFFSET buffer2
       mov  ofn.lpstrFileTitle, OFFSET maskbuffer2
       mov  ofn.nMaxFile,MAXSIZE
    
    invoke GetOpenFileName, addr ofn
    
    invoke CreateFile,addr buffer2,GENERIC_READ,FILE_SHARE_READ,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL
        .if eax==INVALID_HANDLE_VALUE
        invoke MessageBox,0,TEXT("NotOpenCreateSend :   "),0,MB_OK
        ret
    .endif
    mov hFileSend,eax
    
    invoke GetFileSize,hFileSend,addr SizeOfBuffer
    mov SizeOfBuffer,eax
    
    invoke SetDlgItemText,hWindow,IDC_Out,addr SizeOfBuffer
    invoke send,wsHostWhom,addr SizeOfBuffer,4,NULL
    
    invoke SetDlgItemText,hWindow,IDC_EDT2,addr buffer2
    invoke MessageBox,0,TEXT("³äïðàâèòè ôàéë :   "),0,MB_OK
    invoke GetDlgItemText,hWindow,IDC_EDT2,addr maskbuffer2,lengthof maskbuffer2
    invoke send,wsHostWhom,addr maskbuffer2,260,NULL
    
    invoke ReadFile,hFileSend,addr BufferForSend,SizeOfBuffer,addr SizeOfBufferForSend,NULL
    invoke send,wsHostWhom,addr BufferForSend,SizeOfBuffer,NULL
    
    invoke CloseHandle, hFileSend
 
    invoke closesocket,wsHostWhom  
    
    ret
SendFile endp
процедура на прием
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
ReceiveFile proc uses esi edi ebx wsClient:DWORD, lpWhom:DWORD
LOCAL SizeOfFile:DWORD
LOCAL SizeOfBufferForRecv[64]:BYTE
LOCAL BufferForSend[1024]:BYTE
 
    invoke recv,wsClient,addr SizeOfFile,4,0
    
    lea edi, hMem
    ;COMMENT;*
    invoke lstrlen,edi
    .if eax<3500 && eax!=0
        mov dword ptr[edi+eax],0A0Dh
    .else
        mov byte ptr[edi],0
    .endif ;*
    mov esi,lpWhom
    mov ebx,(sockaddr_in PTR [esi]).sin_addr
    mov HostIP, ebx
    invoke inet_ntoa,LocalHostIP
    invoke lstrcat,edi,eax
    invoke lstrlen,edi
    mov dword ptr [edi+eax],0A0Dh
    lea edi,[edi+eax+2];*
    invoke recv,wsClient,edi,260,0  
    invoke SetDlgItemText,hWindow,IDC_Out,addr hMem
 
    mov lpofn.lStructSize,SIZEOF lpofn
       push hWindow 
       pop  lpofn.hwndOwner
       push hInstance
       pop  lpofn.hInstance
       mov  lpofn.lpstrFilter, OFFSET FilterString
       mov  lpofn.lpstrFile, OFFSET buffer
       mov  lpofn.nMaxFile,MAXSIZE
    
    invoke GetSaveFileName, addr lpofn
    invoke CreateFile, addr buffer,GENERIC_WRITE,FILE_SHARE_WRITE,NULL,CREATE_NEW,FILE_ATTRIBUTE_NORMAL,NULL
    .if eax==INVALID_HANDLE_VALUE
        invoke LastErrorMessageBox,addr buffer
        invoke lstrlen,edi
        invoke lstrcat,edi,TEXT(" - ïîìèëêà ïðè çáåðåæåíí³")
        invoke SetDlgItemText,hWindow,IDC_Out,addr hMem
        ret
    .endif
    mov hFileRecv,eax
    
    invoke recv,wsClient,addr BufferForSend,SizeOfFile,0
    invoke WriteFile,hFileRecv,addr BufferForSend,SizeOfFile,addr SizeOfBufferForRecv,NULL
    invoke CloseHandle,hFileRecv
    
    invoke lstrlen,edi
    invoke lstrcat,edi,TEXT(" - ôàéë ïðèéíÿòî")
    invoke SetDlgItemText,hWindow,IDC_Out,addr hMem
    
    ret
ReceiveFile endp
весь код
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
.386
.model flat, stdcall
include Kurs_gui.inc
 
.code
start:
    invoke GetModuleHandle,NULL
    mov ebx,eax
    invoke InitCommonControls
    invoke DialogBoxParam,ebx,IDD_DIALOG1,NULL, offset DialogProc,NULL
    invoke ExitProcess,0
DialogProc proc __in hwndDlg:HWND,  __in  uMsg:UINT,  __in  wParam:WPARAM ,  __in  lParam:LPARAM
 
    mov     eax,uMsg
    .if eax==WM_INITDIALOG
        
        ;int 3
        push hwndDlg
        pop hWindow
                
        invoke WSAStartup, 0202h, addr WSAInfo
        .if eax!=0              
            invoke LastErrorMessageBox, TEXT("Windows Sockets initialize error")
            ret
        .endif
                
        call ListenPool
        
        
    .elseif eax==WM_COMMAND
 
        mov eax,wParam
        and eax,0FFFFh
        .if eax==IDC_Send
            call SendMes
        .elseif eax==IDC_SendFile
            call SendFile
        .elseif eax==IDC_Restart    
        COMMENT *
            call KillListeningThreads
            invoke RtlFillMemory,addr hListenThreadPool,80,0
            call ListenPool
        *   
        .endif  
            
                    
    .elseif eax==WM_CLOSE
        invoke EndDialog,hwndDlg,0
    .else
        mov     eax,FALSE
        ret
    .endif
    mov     eax,TRUE
    ret
DialogProc endp
 
ListenPool proc uses edi esi ebx
    invoke gethostname,addr szHostName,lengthof szHostName
    invoke gethostbyname,addr szHostName
    assume eax:PTR hostent
    mov ebx,dword ptr [eax].h_addr_list
    assume eax:nothing
    lea esi,hListenThreadPool
    lea edi,ListenThreadPool
    mov ecx,[ebx]
    .while ecx!=0
        invoke CreateThread,0,0,edi,ecx,0,0
        mov [esi],eax
        lea esi,[esi+4]
        lea ebx,[ebx+4]
        mov ecx,[ebx]
    .endw
    ret
ListenPool endp
 
ListenThreadPool proc uses ebx esi edi IPAddr:DWORD
    LOCAL wsHost:DWORD
    LOCAL Host:sockaddr_in
    LOCAL Client:sockaddr_in
    LOCAL ClientSockAddrLength:DWORD
    LOCAL Command:DWORD
    
    mov ebx,IPAddr
    mov ebx,[ebx]
    mov Host.sin_addr,ebx
    mov LocalHostIP, ebx
    invoke inet_ntoa, LocalHostIP
    invoke SetDlgItemText, hWindow, IDC_EDT1,eax                
 
;int 3
    invoke socket,AF_INET,SOCK_STREAM,IPPROTO_TCP
    .if eax==INVALID_SOCKET
        invoke MessageBox,0,TEXT("Ñîêåò äëÿ ïðèéîìó ïîâ³äîìëåíü íå áóâ ñòâîðåíèé :    "),0,MB_OK
        invoke ExitThread,0
    .endif
 
    mov wsHost,eax
    invoke MessageBox,0,TEXT("Ãîòîâèé ïðèéìàòè ïîâ³äîìëåííÿ :"),0,MB_OK
    mov Host.sin_family,AF_INET
    xchg al,ah
    mov Host.sin_port,4000;ax
    
    invoke bind,wsHost,addr Host,sizeof Host
    .if eax==SOCKET_ERROR
        invoke MessageBox,0,TEXT("bindRecv :   "),0,MB_OK
        invoke closesocket,wsHost
        invoke ExitThread,0
    .endif
    invoke listen,wsHost,SOMAXCONN
    .if eax==SOCKET_ERROR
        invoke MessageBox,0,TEXT("listenRecv :   "),0,MB_OK
        invoke closesocket,wsHost
        invoke ExitThread,0
    .endif
    .while TRUE
        mov ClientSockAddrLength,sizeof Client
        invoke accept,wsHost,addr Client,addr ClientSockAddrLength
        .if eax==INVALID_SOCKET
            invoke MessageBox,0,TEXT("acceptRecv :   "),0,MB_OK
            invoke closesocket,wsHost
            invoke ExitThread,0
        .endif
        mov esi,eax
        invoke recv,esi,addr Command,4,0
        invoke SetDlgItemText,hWindow,IDC_EDT2,addr Command 
        .if Command==1
            invoke MessageBox,0,TEXT("Command1Recv :   "),0,MB_OK
            invoke ReceiveMessage,esi,addr Client
        .elseif Command==2
            invoke MessageBox,0,TEXT("Command2Recv :   "),0,MB_OK
            invoke ReceiveFile,esi,addr Client
        .endif 
        invoke closesocket,esi
    .endw
ListenThreadPool endp
 
ReceiveMessage proc uses esi edi ebx wsClient:DWORD,lpWhom:DWORD
    
    lea edi, hMem
    ;COMMENT;*
    invoke lstrlen,edi
    .if eax<3500 && eax!=0
        mov dword ptr[edi+eax],0A0Dh
    .else
        mov byte ptr[edi],0
    .endif ;*
    mov esi,lpWhom
    mov ebx,(sockaddr_in PTR [esi]).sin_addr
    mov HostIP, ebx
    invoke inet_ntoa,LocalHostIP
    invoke lstrcat,edi,eax
    invoke lstrlen,edi
    mov dword ptr [edi+eax],0A0Dh
    lea edi,[edi+eax+2];*
    invoke recv,wsClient,edi,500,0;addr hMem,lengthof hMem,0
    invoke SetDlgItemText,hWindow,IDC_Out,addr hMem
    ;invoke MessageBox,0,TEXT("End of reading :   "),0,MB_OK
    ret
ReceiveMessage endp
 
ReceiveFile proc uses esi edi ebx wsClient:DWORD, lpWhom:DWORD
LOCAL SizeOfFile:DWORD
LOCAL SizeOfBufferForRecv[64]:BYTE
LOCAL BufferForSend[1024]:BYTE
    
    invoke recv,wsClient,addr SizeOfFile,4,0
    
    lea edi, hMem
    ;COMMENT;*
    invoke lstrlen,edi
    .if eax<3500 && eax!=0
        mov dword ptr[edi+eax],0A0Dh
    .else
        mov byte ptr[edi],0
    .endif ;*
    mov esi,lpWhom
    mov ebx,(sockaddr_in PTR [esi]).sin_addr
    mov HostIP, ebx
    invoke inet_ntoa,LocalHostIP
    invoke lstrcat,edi,eax
    invoke lstrlen,edi
    mov dword ptr [edi+eax],0A0Dh
    lea edi,[edi+eax+2];*
    invoke recv,wsClient,edi,260,0  
    invoke SetDlgItemText,hWindow,IDC_Out,addr hMem
 
    ;invoke recv,wsClient,addr buffer,260,0
    ;invoke SetDlgItemText,hWindow,IDC_Out,addr buffer
 
    mov lpofn.lStructSize,SIZEOF lpofn
       push hWindow 
       pop  lpofn.hwndOwner
       push hInstance
       pop  lpofn.hInstance
       mov  lpofn.lpstrFilter, OFFSET FilterString
       mov  lpofn.lpstrFile, OFFSET buffer
       mov  lpofn.nMaxFile,MAXSIZE
    
    invoke GetSaveFileName, addr lpofn
    ;int 3
    invoke CreateFile, addr buffer,GENERIC_WRITE,FILE_SHARE_WRITE,NULL,CREATE_NEW,FILE_ATTRIBUTE_NORMAL,NULL
    .if eax==INVALID_HANDLE_VALUE
        invoke LastErrorMessageBox,addr buffer
        invoke lstrlen,edi
        invoke lstrcat,edi,TEXT(" - ïîìèëêà ïðè çáåðåæåíí³")
        invoke SetDlgItemText,hWindow,IDC_Out,addr hMem
        ret
    .endif
    mov hFileRecv,eax
    
    invoke recv,wsClient,addr BufferForSend,SizeOfFile,0
    invoke WriteFile,hFileRecv,addr BufferForSend,SizeOfFile,addr SizeOfBufferForRecv,NULL
    invoke CloseHandle,hFileRecv
    
    invoke lstrlen,edi
    invoke lstrcat,edi,TEXT(" - ôàéë ïðèéíÿòî")
    invoke SetDlgItemText,hWindow,IDC_Out,addr hMem
    
    ret
ReceiveFile endp    
 
SendMes proc uses esi edi ebx
    LOCAL wsHostWhom:DWORD
    LOCAL HostWhom:sockaddr_in
    LOCAL ClientWhere:sockaddr_in
    LOCAL ClientSockAddrLength:DWORD
    LOCAL BufferForSend[1024]:BYTE
    LOCAL Command:DWORD
    
    invoke socket, AF_INET, SOCK_STREAM, IPPROTO_IP
    .if eax==INVALID_SOCKET             
        invoke MessageBox,0,TEXT("Ñîêåò äëÿ â³äïðàâêè ïîâ³äîìëåíü íå áóâ ñòâîðåíèé :   "),0,MB_OK
        ret
    .endif
    mov wsHostWhom, eax
    mov ClientWhere.sin_family, AF_INET
    mov ClientWhere.sin_port, 4000;386Dh
    invoke GetDlgItemText, hWindow, IDC_IP,addr WhereHostIP, lengthof WhereHostIP
    invoke inet_addr, addr WhereHostIP
    mov ClientWhere.sin_addr, eax
    invoke connect, wsHostWhom, addr ClientWhere,  SIZEOF ClientWhere
    .if eax==SOCKET_ERROR
        invoke MessageBox,0,TEXT("connectSend :   "),0,MB_OK
        ret
    .endif
    mov edx,1
    mov Command,edx
    invoke send,wsHostWhom,addr Command,4,NULL
    
    invoke GetDlgItemText, hWindow, IDC_EDT2,addr BufferForSend, lengthof BufferForSend
    invoke send,wsHostWhom, addr BufferForSend, lengthof BufferForSend, NULL
    
COMMENT *+
lea esi, Buffer2
invoke StdIn, esi, lengthof Buffer2
mov edi,esi
mov al,0Dh
mov ecx, lengthof Buffer2
repne scasb
mov dword ptr [edi-1], 0A0Dh
sub edi, esi
lea edi,[edi+2] *
    invoke closesocket,wsHostWhom  ;*
    
    ret
SendMes endp
 
SendFile proc uses esi edi ebx
    LOCAL wsHostWhom:DWORD
    LOCAL HostWhom:sockaddr_in
    LOCAL ClientWhere:sockaddr_in
    LOCAL ClientSockAddrLength:DWORD
    LOCAL Command:DWORD
    LOCAL SizeOfBuffer:DWORD
    LOCAL SizeOfBufferForSend[64]:BYTE
    LOCAL BufferForSend[1024]:BYTE
 
    invoke socket, AF_INET, SOCK_STREAM, IPPROTO_IP
    .if eax==INVALID_SOCKET             
        invoke MessageBox,0,TEXT("Ñîêåò äëÿ â³äïðàâêè ïîâ³äîìëåíü íå áóâ ñòâîðåíèé :    "),0,MB_OK
        ret
    .endif
    mov wsHostWhom, eax
    mov ClientWhere.sin_family, AF_INET
    mov ClientWhere.sin_port, 4000;386Dh
    invoke GetDlgItemText, hWindow, IDC_IP,addr WhereHostIP, lengthof WhereHostIP
    invoke inet_addr, addr WhereHostIP
    mov ClientWhere.sin_addr, eax
    invoke connect, wsHostWhom, addr ClientWhere,  SIZEOF ClientWhere
    .if eax==SOCKET_ERROR
        invoke MessageBox,0,TEXT("connectSend :   "),0,MB_OK
        ret
    .endif
    mov edx,2
    mov Command,edx
    invoke send,wsHostWhom,addr Command,4,NULL
    mov ofn.lStructSize,SIZEOF lpofn
 
       push hWindow 
       pop  ofn.hwndOwner
       push hInstance
       pop  ofn.hInstance
 
       mov  ofn.lpstrFilter, OFFSET FilterString
       mov  ofn.lpstrFile, OFFSET buffer2
       mov  ofn.lpstrFileTitle, OFFSET maskbuffer2
       mov  ofn.nMaxFile,MAXSIZE
    
    invoke GetOpenFileName, addr ofn
    
    invoke CreateFile,addr buffer2,GENERIC_READ,FILE_SHARE_READ,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL
        .if eax==INVALID_HANDLE_VALUE
        invoke MessageBox,0,TEXT("NotOpenCreateSend :   "),0,MB_OK
        ret
    .endif
    mov hFileSend,eax
    
    invoke GetFileSize,hFileSend,addr SizeOfBuffer
    mov SizeOfBuffer,eax
    
    invoke SetDlgItemText,hWindow,IDC_Out,addr SizeOfBuffer
    invoke send,wsHostWhom,addr SizeOfBuffer,4,NULL
    
    invoke SetDlgItemText,hWindow,IDC_EDT2,addr buffer2
    invoke MessageBox,0,TEXT("³äïðàâèòè ôàéë :   "),0,MB_OK
    invoke GetDlgItemText,hWindow,IDC_EDT2,addr maskbuffer2,lengthof maskbuffer2
    invoke send,wsHostWhom,addr maskbuffer2,260,NULL
    
    invoke ReadFile,hFileSend,addr BufferForSend,SizeOfBuffer,addr SizeOfBufferForSend,NULL
    invoke send,wsHostWhom,addr BufferForSend,SizeOfBuffer,NULL
    
    invoke CloseHandle, hFileSend
    
    ;invoke MessageBox,0,TEXT("End of writing :   "),0,MB_OK
    
    invoke closesocket,wsHostWhom  ;*
    
    ret
SendFile endp
 
end start
inc файл
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
include masm.inc
include windef.inc  
include winbase.inc
include winuser.inc
include wingdi.inc
include shellapi.inc
include commctrl.inc
include commdlg.inc 
 
include winsock2.inc
 
 
 
library masm32,kernel32,user32,shell32,comctl32,comdlg32
 
DialogProc  PROTO  __in hwndDlg:HWND,  __in  uMsg:UINT,  __in  wParam:WPARAM ,  __in  lParam:LPARAM
ReceiveMessage PROTO wsClient:DWORD, lpWhom:DWORD
ReceiveFile PROTO wsClient:DWORD, lpWhom:DWORD
 
 
 
.const
IDD_DIALOG1         equ 101
IDC_IP              equ 1001
IDC_EDT1            equ 1002
IDC_STC1            equ 1003
IDC_STC2            equ 1004
IDC_EDT2            equ 1005
IDC_Send            equ 1006
IDC_Out             equ 1007
IDC_SendFile            equ 1008
IDC_Restart         equ 1009
 
MAXSIZE equ 260
 
 
szApplicationName       TCHAR 'Ping GUI',0
 
.data
buffer db MAXSIZE dup(0)
buffer2 db MAXSIZE dup(0)
maskbuffer2 db MAXSIZE dup(0)
FilterString db "All Files",0,"*.*",0
                 db "Text Files",0,"*.txt",0,0
 
 
 
.data?
hWindow                 HWND ?
hInstance           HANDLE ?
hListenThreadPool           HANDLE ?        
HostIP                  in_addr <>
LocalHostIP             in_addr <>
hFileSend               HANDLE ?    
hFileRecv                   HANDLE ?    
lpofn                   OPENFILENAME <>
ofn                 OPENFILENAME <>
WSAInfo                 WSADATA <>
szHostName              CHAR 128 dup (?)
hMem                    DWORD 50 dup (?)
WhereHostIP             db   256 dup(?)
Хотелось чтоб можна было файл любого размера пересылать, если целиком - то буфер сильно большой, а в цикле не знаю как организовать?
0
16 / 16 / 19
Регистрация: 13.12.2010
Сообщений: 76
15.05.2013, 21:22  [ТС] 5
Спасибо всем за советы)) Тема закрыта
0
15.05.2013, 21:22
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.05.2013, 21:22
Помогаю со студенческими работами здесь

Подойдут ли вентиляторы от сокету 1150 к сокету 1151
Хочу собирать компьютер на сокете 1151 , но не вижу вентиляторов к такому процессору , подойдут ли...

Передача файлов
Можно ли скинуть архив с фотками с компьютера на айфон? Добавлено через 1 час 6 минут Знает кто?

Передача файлов C#
Небольшое приложение. Подскажите что делаю не так?! Сервер: using System; using...

Передача файлов
Всем привет) Скажите какой протокол можно использовать что передавать файлы (Расширения exe dll )...

передача файлов
Как организовать передачу файлов в indytcp server and indytcpclient

Передача файлов
Тема не совсем в том разделе(в профильном не отвечают), поэтому спрошу здесь. Можно ли скинуть ряд...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru