123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Net;
- using System.Net.Sockets;
- namespace DllEapFileUpload
- {
- class TransferFiles
- {
- public static int SendData(Socket s, byte[] data)
- {
- int total = 0;
- int size = data.Length;
- int dataleft = size;
- int sent;
- while (total < size)
- {
- sent = s.Send(data, total, dataleft, SocketFlags.None);
- total += sent;
- dataleft -= sent;
- }
- return total;
- }
- public static int SendVarData(Socket s, byte[] data)
- {
- int total = 0;
- int size = data.Length;
- int dataleft = size;
- int sent;
- byte[] datasize = new byte[4];
- try
- {
- datasize = BitConverter.GetBytes(size);
- sent = s.Send(datasize);
- while (total < size)
- {
- sent = s.Send(data, total, dataleft, SocketFlags.None);
- total += sent;
- dataleft -= sent;
- }
- return total;
- }
- catch
- {
- return 3;
- }
- }
- public static byte[] ReceiveData(Socket s, int size)
- {
- int total = 0;
- int dataleft = size;
- byte[] data = new byte[size];
- int recv;
- while (total < size)
- {
- recv = s.Receive(data, total, dataleft, SocketFlags.None);
- if (recv == 0)
- {
- data = null;
- break;
- }
- total += recv;
- dataleft -= recv;
- }
- return data;
- }
-
- public static byte[] ReceiveVarData(Socket s)
- {
- int total = 0;
- int recv;
- byte[] datasize = new byte[4];
- recv = s.Receive(datasize, 0, 4, SocketFlags.None);
- int size = BitConverter.ToInt32(datasize, 0);
- int dataleft = size;
- byte[] data = new byte[size];
- while (total < size)
- {
- recv = s.Receive(data, total, dataleft, SocketFlags.None);
- if (recv == 0)
- {
- data = null;
- break;
- }
- total += recv;
- dataleft -= recv;
- }
- return data;
- }
- }
- }
|