1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
|
private: System::Void ServerBackgroundWorker_DoWork(System::Object^ sender, System::ComponentModel::DoWorkEventArgs^ e) {
array<Byte>^ addr = {192,168,1,5};
IPAddress^ listenInterface = nullptr;//IPAddress::Any;
unsigned short listenport = 1234;
int buffersize = 16;
TcpListener^ tcpServer = nullptr;
Socket^ tcpClient = nullptr;
array<Byte>^ receiveBuffer = gcnew array<Byte>(buffersize);
int rc = 1;
listenInterface = gcnew IPAddress(addr);
tcpServer = gcnew TcpListener(listenInterface, (int)listenport);
tcpServer->Start();
tcpClient = tcpServer->AcceptSocket();
tcpClient->Receive(receiveBuffer);
String^ readText = System::Text::Encoding::ASCII->GetString(receiveBuffer, 0, rc);
unsigned char Buffer [1];
DWORD ActualLength;
Buffer[0] = 0;
//test logique des possibilitées provenant du client
if(readText->Equals("a") || readText == "a" || readText2->Equals("a") || readText2 == "a"){
Buffer[0] = 0x15;
}
if(readText->Equals("b") || readText == "b" || readText2->Equals("b") || readText2 == "b"){
Buffer[0] = 0x16;
}
if(readText->Equals("c") || readText == "c" || readText2->Equals("c") || readText2 == "c"){
Buffer[0] = 0x17;
}
if(readText->Equals("d") || readText == "d" || readText2->Equals("d") || readText2 == "d"){
Buffer[0] = 0x18;
}
if(readText->Equals("e") || readText == "e" || readText2->Equals("e") || readText2 == "e"){
Buffer[0] = 0x19;
}
if(Buffer[0] != 0){
if(AttachedState == TRUE)
{
if(MPUSBWrite(EP1OUTHandle, Buffer, 1, &ActualLength, 1000))
{
//if(MPUSBRead(EP1INHandle, Buffer, 3, &ActualLength, 1000))
//{
//}
}
}
else
{
}
}
Sleep(4);
//closing client
tcpStream->Close();
tcpStream = nullptr;
binreader->Close();
binreader = nullptr;
tcpClient->Close();
tcpClient = nullptr;
tcpServer->Stop();
} |
Partager