ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #11  
Старый 15.04.2010, 20:48
W!z@rD
Reservists Of Antichat - Level 6
Регистрация: 12.02.2006
Сообщений: 891
Провел на форуме:
1892597

Репутация: 836


Отправить сообщение для W!z@rD с помощью ICQ
По умолчанию

O_O

OLEDB!!!!!!
либо искать провайдеры для MySQL.

Не извращайтесь...
__________________
*********************************
*Я не волшебник ٩(๏̯͡๏)۶, только учусь...*
*********************************
Программы на заказ
Times to fly...
 
Ответить с цитированием

  #12  
Старый 15.04.2010, 22:00
cheater_man
Постоянный
Регистрация: 13.11.2009
Сообщений: 437
Провел на форуме:
709575

Репутация: 17
По умолчанию

Чел вот только ненадо присваиваь себе чужой код.
У себя нашел, непомню где брал (давно это было), но рабочий
Сервер
Код:
using System; /////////////////////////////////////////////////
using System.Collections.Generic;///// Консольный стандарт ////
using System.Text;/////////////////////////////////////////////
using System.Net.Sockets; // Вот он, родимый коллекшн классов /
using System.Threading; // Коллекшн для работы с потоками /////
 
namespace tcpserver
{
    class Program
    {
        static void Main(string[] args)
        {
            string cmd;
            Console.Write("Port to listen: ");
            int port = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("Creating server...");
            Server Serv = new Server(); // Создаем новый экземпляр класса 
                                        // сервера
            Serv.Create(port);
            
            while (true)
            {
                cmd = Console.ReadLine(); // Ждем фразы EXIT когда 
                                          // понадобится выйти из приложения.
                                          // типа интерактивность.
                if (cmd == "EXIT")
                {
                    Serv.Close(); // раз выход – значит выход. Серв-нах.
                    return;
                }
            }
        } 
 
        public class Server // класс сервера.
        {
            private int LocalPort;
            private Thread ServThread; // экземпляр потока
            TcpListener Listener; // листенер))))
            
            public void Create(int port)
            {
                LocalPort = port;
                ServThread = new Thread(new ThreadStart(ServStart));
                ServThread.Start(); // запустили поток. Стартовая функция – 
                                    // ServStart, как видно выше
            }
            
            public void Close() // Закрыть серв?
            {
                Listener.Stop();
                ServThread.Abort();
                return;
            }
        
            private void ServStart()
            {
                Socket ClientSock; // сокет для обмена данными.
                string data;
                byte[] cldata = new byte[1024]; // буфер данных
                Listener = new TcpListener(LocalPort); 
                Listener.Start(); // начали слушать
                Console.WriteLine("Waiting connections [" + Convert.ToString(LocalPort) + "]...");
                try
                {
                    ClientSock = Listener.AcceptSocket(); // пробуем принять 
                                                          // клиента
                }
                catch
                {
                    ServThread.Abort(); // нет – жаль(
                    return;
                }
                int i=0;
        
                if (ClientSock.Connected)
                {
                    while (true)
                    {
                        try
                        {
                            i = ClientSock.Receive(cldata); // попытка чтения 
                                                            // данных
                        }
                        catch
                        {
                        }
 
                        try
                        {
                            if (i > 0)
                            {
                            
                                data = Encoding.ASCII.GetString(cldata).Trim();
                                Console.WriteLine("<" + data);
                                if (data == "CLOSE") // если CLOSE – 
                                                     // вырубимся
                                {
                                    ClientSock.Send(Encoding.ASCII.GetBytes("Closing the server..."));
                                    ClientSock.Close();
                                    Listener.Stop();
                                    Console.WriteLine("Server closed. Reason: client wish! Type EXIT to quit the application.");
                                    ServThread.Abort();
                                    return;
                                } 
                                else
                                { // нет – шлем данные взад.
                                    ClientSock.Send(Encoding.ASCII.GetBytes("Your data: " + data));
                                }
                            }
                        }
                        catch
                        {
                            ClientSock.Close(); // ну эт если какая хрень..
                            Listener.Stop();
                            Console.WriteLine("Server closing. Reason: client offline. Type EXIT to quit the application.");
                            ServThread.Abort();
                        }
                    }
                }
            }
        }
    }
}
Этот соурс древний, и тупо написан.

Последний раз редактировалось cheater_man; 15.04.2010 в 22:02..
 
Ответить с цитированием

  #13  
Старый 15.04.2010, 22:02
bugrom256
Новичок
Регистрация: 14.04.2010
Сообщений: 14
Провел на форуме:
27397

Репутация: 0
По умолчанию

дык я и не присваиваю )))) я его из примеров MSDN взял ))) только немного оптимизировал )))))) но не до конца, иначе работало бы всё...
 
Ответить с цитированием

  #14  
Старый 15.04.2010, 22:17
cheater_man
Постоянный
Регистрация: 13.11.2009
Сообщений: 437
Провел на форуме:
709575

Репутация: 17
По умолчанию

Цитата:
Сообщение от bugrom256  
дык я и не присваиваю )))) я его из примеров MSDN взял ))) только немного оптимизировал )))))) но не до конца, иначе работало бы всё...
Возьми пример другой тут подход устаревший
 
Ответить с цитированием

  #15  
Старый 15.04.2010, 22:18
bugrom256
Новичок
Регистрация: 14.04.2010
Сообщений: 14
Провел на форуме:
27397

Репутация: 0
По умолчанию

может посоветуешь что ????)))
 
Ответить с цитированием

  #16  
Старый 15.04.2010, 22:23
bugrom256
Новичок
Регистрация: 14.04.2010
Сообщений: 14
Провел на форуме:
27397

Репутация: 0
По умолчанию

кто нить подскажет как пересылать от клиента к серверу через промежуточный сервер ????)))))) объясните смысл на пальцах, а реализую.... а то до конца не могу понять как всё происходит...
 
Ответить с цитированием

  #17  
Старый 16.04.2010, 06:56
W!z@rD
Reservists Of Antichat - Level 6
Регистрация: 12.02.2006
Сообщений: 891
Провел на форуме:
1892597

Репутация: 836


Отправить сообщение для W!z@rD с помощью ICQ
По умолчанию

http://www.google.ru/search?hl=ru&source=hp&q=3-tier+architecture+in+asp.net&lr=&aq=2&aqi=g7&aql=& oq=3-tier+&gs_rfai=
__________________
*********************************
*Я не волшебник ٩(๏̯͡๏)۶, только учусь...*
*********************************
Программы на заказ
Times to fly...
 
Ответить с цитированием

  #18  
Старый 16.04.2010, 21:49
bugrom256
Новичок
Регистрация: 14.04.2010
Сообщений: 14
Провел на форуме:
27397

Репутация: 0
По умолчанию

спасибо... позже почитаю )))
 
Ответить с цитированием

  #19  
Старый 30.04.2010, 12:19
bugrom256
Новичок
Регистрация: 14.04.2010
Сообщений: 14
Провел на форуме:
27397

Репутация: 0
По умолчанию

кто-нить может мне объяснить почему клиент не до конца данные принимает ????

вот СЕРВЕР:
using System;
using System.IO;
using System.Threading;
using System.Net;
using System.Net.Sockets;
using System.Collections;
using System.Linq;
using System.Text;
using System.Runtime.InteropServices;

public class ClientHandler
{
private static int nbFiles;
private static int nbMatchFiles;

private const String dirPath = @"C:\Users\Romario\Desktop";
private String pattern;

// StreamReader readerStream1;
// NetworkStream writerStream;




//-----------------------------------------------------------------------------------------------------

public TcpClient clientSocket;
// Socket sock;
public void SearchForStandard(string path, string text, bool recurse)
{

foreach (String file in Directory.GetFiles(path, "*.txt"))
{
Interlocked.Increment(ref nbFiles);
FindInFile(file, text);

}
if (recurse)
{
foreach (String dir in Directory.GetDirectories(path))
{
SearchForStandard(dir, text, recurse);
}
}
}

public void FindInFile(string csFilePath, string text)
{
try
{
NetworkStream writerStream = clientSocket.GetStream();
if (File.ReadAllText(csFilePath).IndexOf(text) >= 0)
{
Interlocked.Increment(ref nbMatchFiles);
string filename = Path.GetFileName(csFilePath);
Console.WriteLine("_______________________________ _________________________________________");
Console.WriteLine(nbMatchFiles + "." + text + "\t\tName of File: " + filename);
/* StreamReader sr = File.OpenText(csFilePath);
string s = "";
while ((s = sr.ReadLine()) != null)
{
Console.WriteLine(s);

byte[] dataWrite = Encoding.ASCII.GetBytes(s);

writerStream.Write(dataWrite, 0, dataWrite.Length);
}
*/
FileStream stream = new FileStream(csFilePath, FileMode.Open);
StreamReader readerStream = new StreamReader(stream);

string s = readerStream.ReadToEnd();

byte[] dataWrite = Encoding.ASCII.GetBytes("_________________________ _______________________________________________\n" + filename + "\n_______________________________________________ _________________________\n" + s);
writerStream.Write(dataWrite, 0, dataWrite.Length);

stream.Close();
//readerStream.Close();

Console.WriteLine("_______________________________ _________________________________________\n" + s);
// Console.WriteLine("\n_____________________________ ___________________________________________\n");

}
// else
// {
// byte[] dataWrite = Encoding.ASCII.GetBytes("\r\n");
// writerStream.Write(dataWrite, 0, dataWrite.Length);

// }
}
catch (Exception exp)
{
Console.WriteLine("Exception: " + exp.Message);
}


}

public void RunClient()
{
StreamReader readerStream = new StreamReader(clientSocket.GetStream());
NetworkStream writerStream = clientSocket.GetStream();

string returnData = readerStream.ReadLine();
string userName = returnData;

Console.WriteLine("Welcome " + userName + " to the Server");

while (true)
{

returnData = readerStream.ReadLine();

if (returnData.IndexOf("QUIT") > -1)
{
Console.WriteLine("Bye bye " + userName);
break;
}
// Console.WriteLine(userName + " : " + returnData);
// returnData += "\r\n";
//-----------------------------------------------------------------------------------------------------
pattern = returnData;

Console.WriteLine("Searching for : " + pattern);

nbFiles = 0;
nbMatchFiles = 0;
DateTime start = DateTime.Now;

Console.WriteLine("Search using Standard Processing");
SearchForStandard(dirPath, pattern, true);

Console.WriteLine(string.Format("Total files : {0}", nbFiles));
Console.WriteLine(string.Format("found in files : {0}", nbMatchFiles));
Console.WriteLine(string.Format("Search Duration : {0}", DateTime.Now.Subtract(start).ToString()));



//-----------------------------------------------------------------------------------------------------
// pattern = returnData;
// returnData = "\r\n";
// byte[] dataWrite = Encoding.ASCII.GetBytes(returnData);
// writerStream.Write(dataWrite, 0, dataWrite.Length);
}
clientSocket.Close();
}
}


public class MultiThreading_Server
{
const int ECHO_PORT = 4000;
//IPAddress ip = IPAddress.Parse("192.168.0.1");
public static int nClients = 0;

//---------------------------УСТАНОВКА ЗАГОЛОВКА ОКНА--------------------------
[DllImport("kernel32.dll")]
public static extern bool SetConsoleTitle(String lpConsoleTitle);

[STAThread]
//-----------------------------------------------------------------------------
public static void Main(string[] arg)
{
SetConsoleTitle("END SERVER"); // УСТАНОВКА ЗАГОЛОВКА ОКНА

try
{

//Связываем сервер с локальным портом
// IPAddress localadr = IPAddress.Parse("192.168.0.1");
// TcpListener clientListener = new TcpListener(localadr, ECHO_PORT);
TcpListener clientListener = new TcpListener(ECHO_PORT);
//Начинаем слушать
clientListener.Start();

Console.WriteLine("Waiting for connections...");

while (true)
{

//Даем согласие на соединение
TcpClient client = clientListener.AcceptTcpClient();

ClientHandler cHandler = new ClientHandler();

//Передаем значение объекту ClientHandler
cHandler.clientSocket = client;

//Создаем новый поток для клиент
Thread clientThread = new Thread(new ThreadStart(cHandler.RunClient));

clientThread.Start();
}
clientListener.Stop();
}
catch (Exception exp)
{
Console.WriteLine("Exception: " + exp.Message);
Console.ReadKey();
}
}
}


ВОТ КЛИЕНТ:
using System;
using System.IO;
using System.Net;
using System.Net.Sockets;
using System.Collections.Generic;
using System.Collections;
using System.Linq;
using System.Text;

public class EchoClient
{
const int ECHO_PORT = 4000;

public static void Main(string[] arg)
{
// Console.Write("Your UserName: ");
// string userName = Console.ReadLine();
string userName = "Client";
Console.WriteLine("---Logged In---");

try
{
//Создаем соединение с ChatServer
TcpClient eClient = new TcpClient("127.0.0.1", ECHO_PORT);

//Создаем классы потоков
StreamReader readerStream = new StreamReader(eClient.GetStream());
NetworkStream writerStream = eClient.GetStream();

string dataToSend;

dataToSend = userName;
dataToSend += "\r\n";

//Отправляем имя пользователя на сервер
byte[] data = Encoding.ASCII.GetBytes(dataToSend);

writerStream.Write(data,0,data.Length);

while (true)
{
Console.Write(userName + ":");

//Считываем строку с сервера
dataToSend = Console.ReadLine();
dataToSend += "\r\n";

data = Encoding.ASCII.GetBytes(dataToSend);
writerStream.Write(data,0,data.Length);

//Если отправлена команда QUIT, то выходим из приложения
if (dataToSend.IndexOf("QUIT") > -1)
break;

string returnData;

//Получить ответ от сервера
Console.WriteLine("Server: ");

while ((returnData = readerStream.ReadLine()) != null)
{
// if (string.IsNullOrEmpty(returnData)) break;
Console.WriteLine(returnData);
}

/* returnData = readerStream.ReadLine();
while (!readerStream.EndOfStream)
{
// if (returnData == "") break;
// if (string.IsNullOrEmpty(returnData)) break;
Console.WriteLine(returnData);
// returnData = readerStream.ReadLine();
}
*/
}
//Закрыть TcpClient
eClient.Close();
}
catch(Exception exp)
{
Console.WriteLine("Exception: " + exp.Message);
Console.ReadKey();
}
}

}

Заранее очень признателен ))))
 
Ответить с цитированием

  #20  
Старый 30.04.2010, 12:31
Feonor
Участник форума
Регистрация: 23.07.2008
Сообщений: 202
Провел на форуме:
3075657

Репутация: 122
Отправить сообщение для Feonor с помощью ICQ
По умолчанию

Выкладывай на _http://code-bin.homedns.org/new чтоли. Твои портянки разглядывать глаза сломаешь)
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужна ваще помощь XP jks Windows 12 22.01.2009 00:33



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ