Member 10230348 Ответов: 1

Как подключиться из веб - приложения к приложению windows и отправить данные в формате unicode и полученные в сокете sserver


используя (заказчик объект TcpClient = новый объект TcpClient(диспетчер конфигураций.AppSettings["TcpIp"], 2000)) //"192.168.3.82", 4973 5000
использование (NetworkStream networkStream = клиент.Метод getstream())
{
byte[] usernameBytes = кодировка.ASCII.GetBytes(текст);
сетевой поток.Напишите(usernameBytes, 0, usernameBytes.Метода getlength может служить метод(0));
сетевой поток.Закрывать();
}

Это мой код в веб приложении im отправляющем Юникод но дело в том что я не подключен к сокету при нормальном запуске он будет подключаться в режиме отладки plz помогите мне для этого кода как можно скорее

Что я уже пробовал:

общественного недействительными OnClientConnect(объекта iasyncresult много)
{
пробовать
{
// Здесь мы завершаем/завершаем асинхронный вызов BeginAccept()
// вызывая EndAccept() - который возвращает ссылку на
// новый объект сокета
Гнездо workerSocket = m_mainSocket.EndAccept(asyn);

// Теперь увеличьте количество клиентов для этого клиента
// в потокобезопасным способом
Сблокированный.Инкремент(ref m_clientCount);

// Добавьте ссылку workerSocket в наш ArrayList
GP.m_workerSocketList.Add(workerSocket);

// Отправить приветственное сообщение клиенту
строка msg = "Welcome client" + m_clientCount + "\n";
SendMsgToClient(глутамат натрия, m_clientCount);

// OnDataReceived(asyn);

// Обновление списка, отображающего список клиентов (потокобезопасный вызов)
UpdateClientListControl();

// Пусть рабочий сокет выполнит дальнейшую обработку для
// только что подключенный клиент
WaitForData(workerSocket, m_clientCount);

// Поскольку основной сокет теперь свободен, он может вернуться и подождать
// другие клиенты, которые пытаются подключиться
m_mainSocket.BeginAccept(new AsyncCallback(OnClientConnect), null);

}
catch (ObjectDisposedException)
{
Система.Диагностика.Debugger.Log(0, "1", "\n OnClientConnection: сокет был закрыт\n");
}
поймать (исключения socketexception ЮВ)
{
Ящик для сообщений.Показать(se.сообщение);
}
поймать (исключение РП)
{
Ящик для сообщений.Show(er.Message + "\n OnClientConnect функция внутри TCPServer");
}
}

приведенный выше код находится в приложении windows

1 Ответов

Рейтинг:
1

F-ES Sitecore

Вам нужно разместить веб-приложение в IIS, чтобы оно было всегда доступно, а не только при отладке.


Member 10230348

вы уверены, что код правильный или нет

F-ES Sitecore

Если он работает в отладке, но не "нормально", то это, скорее всего, связано с тем, как вы его выполняете, а не с самим кодом. В режиме отладки Visual Studio размещает сам сайт, чтобы к нему можно было подключиться. Если вы хотите, чтобы сайт был доступен вне режима отладки, вам нужно разместить код где-то еще, например IIS на локальном компьютере.

Member 10230348

я уже сделал все но получил хост i had на iis также но не получил результат как ожидалось plz предоставьте мне код im new in that

Member 10230348

Установленное соединение было прервано программным обеспечением на вашем хосте

Я получаю вышеуказанную ошибку