mirror of
https://github.com/Bayselonarrend/OpenIntegrations.git
synced 2024-12-27 02:43:54 +02:00
Добавлен CloseOutput в TCPC
This commit is contained in:
parent
1efb59522f
commit
0ecc9df7b3
Binary file not shown.
@ -1,5 +1,5 @@
|
||||
use std::io::{Read, Write};
|
||||
use std::net::TcpStream;
|
||||
use std::net::{Shutdown, TcpStream};
|
||||
use std::time::{Duration, Instant};
|
||||
|
||||
/// Отправляет данные
|
||||
@ -70,4 +70,9 @@ pub fn receive(
|
||||
pub fn disconnect(add_in: &mut crate::component::AddIn) -> bool {
|
||||
add_in.connection = None;
|
||||
true
|
||||
}
|
||||
|
||||
/// Закрытие потока записи
|
||||
pub fn close_output(connection: &mut TcpStream) -> bool {
|
||||
connection.shutdown(Shutdown::Write).is_ok()
|
||||
}
|
@ -12,7 +12,8 @@ pub const METHODS: &[&[u16]] = &[
|
||||
name!("Connect"), // 0
|
||||
name!("Disconnect"), // 1
|
||||
name!("Read"), // 2
|
||||
name!("Send"), // 3
|
||||
name!("Send"), // 3
|
||||
name!("CloseOutput") // 4
|
||||
];
|
||||
|
||||
// Число параметров функций компоненты
|
||||
@ -22,6 +23,7 @@ pub fn get_params_amount(num: usize) -> usize {
|
||||
1 => 0,
|
||||
2 => 3,
|
||||
3 => 2,
|
||||
4 => 0,
|
||||
_ => 0,
|
||||
}
|
||||
}
|
||||
@ -62,6 +64,13 @@ pub fn cal_func(obj: &mut AddIn, num: usize, params: &mut [Variant]) -> Box<dyn
|
||||
Box::new(false) // Если соединения нет, возвращаем false
|
||||
}
|
||||
},
|
||||
4 =>{
|
||||
if let Some(ref mut connection) = obj.connection {
|
||||
Box::new(methods::close_output(connection))
|
||||
} else {
|
||||
Box::new(false)
|
||||
}
|
||||
}
|
||||
_ => Box::new(false), // Неверный номер команды
|
||||
}
|
||||
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -212,6 +212,7 @@
|
||||
Соединение = ОткрытьСоединение(Адрес);
|
||||
|
||||
Результат = ОтправитьДвоичныеДанные(Соединение, Данные);
|
||||
Соединение.CloseOutput();
|
||||
|
||||
Если Результат Тогда
|
||||
|
||||
|
Binary file not shown.
Loading…
Reference in New Issue
Block a user