ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
сейчас доступен на antichat.xyz.
 |
HELP: Передача файлов на C# |

02.05.2010, 14:27
|
|
Новичок
Регистрация: 14.04.2010
Сообщений: 14
Провел на форуме: 27397
Репутация:
0
|
|
HELP: Передача файлов на C#
Доброго времени суток!!!!))))
Пишу на C#.
Кто-нить может подсказать как считать текст файла в поток (на сервере) и передать его клиенту, чтобы клиент вывел на экран ?????
Последний раз редактировалось bugrom256; 02.05.2010 в 15:55..
Причина: Корректировка
|
|
|

02.05.2010, 19:52
|
|
Познающий
Регистрация: 16.10.2009
Сообщений: 40
Провел на форуме: 152013
Репутация:
14
|
|
Закачка
Код:
Private Function FUPD(ByVal localFilePath As String, ByVal remoteFilePath As String)
Try
Dim request As WebRequest = WebRequest.Create(http_URL & "/core.php")
request.Method = "POST"
Dim postData As String = "OP=UPD&pr1=" & remoteFilePath & "&pr2=" & File.ReadAllText(localFilePath)
request.ContentType = "application/x-www-form-urlencoded"
request.ContentLength = postData.Length
Dim dataStream As Stream = request.GetRequestStream()
dataStream.Write(System.Text.Encoding.Default.GetBytes(postData), 0, System.Text.Encoding.Default.GetBytes(postData).Length)
dataStream.Close()
Dim response As WebResponse = request.GetResponse()
dataStream = response.GetResponseStream()
Dim reader As New StreamReader(dataStream)
Dim responseFromServer As String = reader.ReadToEnd()
' If responseFromServer <> Nothing Then MsgBox(responseFromServer)
reader.Close()
dataStream.Close()
response.Close()
catch ex as exception
End Try
End Function
Скачивание
Код:
Private Function FDWN(ByVal remoteFilePath As String, ByVal localFilePath As String)
Try
fKiller(localFilePath)
Dim request As WebRequest = WebRequest.Create(http_URL & "\core.php")
request.Method = "POST"
Dim postData As String = "OP=DWN&pr1=" & remoteFilePath & "&pr2=" & localFilePath
Dim byteArray As Byte() = System.Text.Encoding.UTF8.GetBytes(postData)
request.ContentType = "application/x-www-form-urlencoded"
request.ContentLength = byteArray.Length
Dim dataStream As Stream = request.GetRequestStream()
dataStream.Write(byteArray, 0, byteArray.Length)
dataStream.Close()
Dim response As WebResponse = request.GetResponse()
dataStream = response.GetResponseStream()
Dim reader As New StreamReader(dataStream)
Dim responseFromServer As String = reader.ReadToEnd()
' If responseFromServer <> Nothing Then MsgBox(responseFromServer)
File.WriteAllText(localFilePath, responseFromServer)
reader.Close()
dataStream.Close()
response.Close()
Return True
Catch ex As Exception
Return False
End Try
End Function
PHP код:
Сервер
<?php
$curOp=$_POST['OP'];
$arg_1=$_POST['pr1'];
$arg_2=$_POST['pr2'];
//DO COMPORATION
switch ($curOp)
{
case 'UPD':
echo $arg_1;
$handle = fopen("$arg_1","w");
fclose($handle);
chmod("$arg_1", 0777);
$handle = fopen("$arg_1","a");
fclose($handle);
fwrite($handle,"$arg_2");
echo "Success";
case 'DWN':
if (file_exists($arg_1))
{
echo file_get_contents("$arg_1");
}
break;
}
exit;
?>
Там на VB, с перепиской на C# не возникнет проблем, просто перепиши с учетом синтаксиса C#
Последний раз редактировалось ichechen; 02.05.2010 в 20:18..
|
|
|

02.05.2010, 19:55
|
|
Познающий
Регистрация: 16.10.2009
Сообщений: 40
Провел на форуме: 152013
Репутация:
14
|
|
Сделай Таймеры и задай интервал, чтоб клиент и сервер проверяли хост на наличае новых команд
типа ты отправляешь нужный для вывода файл на хост + файл с командами, где будет написано что и как делать
клиент стучится на хост берет файл с инфой читает команды и выполняет
|
|
|

03.05.2010, 01:40
|
|
Новичок
Регистрация: 14.04.2010
Сообщений: 14
Провел на форуме: 27397
Репутация:
0
|
|
спасибо )))) но я пишу не Web, а консольное клиент-серверное приложение и мне на КЛИЕНТЕ надо считывать всё то что передал сервер...
ЧТО ИМЕЕМ:
У меня есть TcpServer и TcpClient, работаю с потоками (не с сокетами). Проблема возникает в том, что я не могу определить полный объем передаваемой информации, под который надо бы выделить место на клиентской стороне.
|
|
|
|
 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|