From 069a6dd386edbf86171c826e0aa1ad6a5ad6a045 Mon Sep 17 00:00:00 2001 From: lzxm160 Date: Tue, 26 Apr 2016 14:17:43 +0800 Subject: [PATCH 01/19] add wss --- server_wss.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server_wss.hpp b/server_wss.hpp index 46f3d3d..8c5bee9 100644 --- a/server_wss.hpp +++ b/server_wss.hpp @@ -29,7 +29,7 @@ namespace SimpleWeb { void accept() { //Create new socket for this connection (stored in Connection::socket) //Shared_ptr is used to pass temporary objects to the asynchronous functions - std::shared_ptr connection(new Connection(new WSS(io_service, context))); + std::shared_ptr connection(new Connection(new WSS(asio_io_service, context))); acceptor.async_accept(connection->socket->lowest_layer(), [this, connection](const boost::system::error_code& ec) { //Immediately start accepting a new connection From c5ed5891d165d0f4755926a5e3d83bc7ddfae80c Mon Sep 17 00:00:00 2001 From: lzxm160 Date: Tue, 26 Apr 2016 14:20:31 +0800 Subject: [PATCH 02/19] add wss --- server_wss.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server_wss.hpp b/server_wss.hpp index 8c5bee9..8ebe3af 100644 --- a/server_wss.hpp +++ b/server_wss.hpp @@ -31,7 +31,7 @@ namespace SimpleWeb { //Shared_ptr is used to pass temporary objects to the asynchronous functions std::shared_ptr connection(new Connection(new WSS(asio_io_service, context))); - acceptor.async_accept(connection->socket->lowest_layer(), [this, connection](const boost::system::error_code& ec) { + asio_acceptor.async_accept(connection->socket->lowest_layer(), [this, connection](const boost::system::error_code& ec) { //Immediately start accepting a new connection accept(); From cc2d82324fc6a5c7efb9b32834fa88ddfb4e092b Mon Sep 17 00:00:00 2001 From: lzxm160 Date: Tue, 26 Apr 2016 14:28:12 +0800 Subject: [PATCH 03/19] add wss --- client_wss.hpp | 4 ++-- serverResources.hpp | 56 ++++++++++++++++++++++----------------------- 2 files changed, 30 insertions(+), 30 deletions(-) diff --git a/client_wss.hpp b/client_wss.hpp index 0c57adf..2a8651e 100644 --- a/client_wss.hpp +++ b/client_wss.hpp @@ -36,10 +36,10 @@ namespace SimpleWeb { void connect() { boost::asio::ip::tcp::resolver::query query(host, std::to_string(port)); - resolver.async_resolve(query, [this] + asio_resolver.async_resolve(query, [this] (const boost::system::error_code &ec, boost::asio::ip::tcp::resolver::iterator it){ if(!ec) { - connection=std::shared_ptr(new Connection(new WSS(io_service, context))); + connection=std::shared_ptr(new Connection(new WSS(asio_io_service, context))); boost::asio::async_connect(connection->socket->lowest_layer(), it, [this] (const boost::system::error_code &ec, boost::asio::ip::tcp::resolver::iterator it){ diff --git a/serverResources.hpp b/serverResources.hpp index 2a6cad7..0a7e640 100644 --- a/serverResources.hpp +++ b/serverResources.hpp @@ -30,15 +30,15 @@ using namespace boost::posix_time; namespace fs = boost::filesystem; typedef SimpleWeb::SocketServer WssServer; typedef SimpleWeb::SocketClient WssClient; -map uploads; -string nfspath = ""; -std::mutex conLock_; -std::mutex directory_is_empty_lock; +map uploadss; +string nfspaths = ""; +std::mutex conLock_s; +std::mutex directory_is_empty_locks; bool create_dirs(std::string dir) { try { - std::unique_lock locker(conLock_); + std::unique_lock locker(conLock_s); return boost::filesystem::create_directories(dir); } catch (std::exception& e) @@ -54,14 +54,14 @@ bool create_dirs(std::string dir) } string uploads_inits(size_t userid, string filename, int size, bool bin = false) { - std::unique_lock locker(conLock_); + std::unique_lock locker(conLock_s); //uploadsinit((size_t)connection.get(),filename,size,true); string retString; ptime now = second_clock::local_time(); string now_str = to_iso_extended_string(now.date()) + " " + to_simple_string(now.time_of_day()); try { - string path = nfspath+ filename; + string path = nfspaths+ filename; fs::path p(path); p.remove_filename(); @@ -74,7 +74,7 @@ string uploads_inits(size_t userid, string filename, int size, bool bin = false) return retString; } } - auto ret = uploads.insert(make_pair(userid, FileUpload(path, size, bin))); + auto ret = uploadss.insert(make_pair(userid, FileUpload(path, size, bin))); if (ret.second) { cout << "map insert succeeded" << endl; @@ -98,16 +98,16 @@ string uploads_inits(size_t userid, string filename, int size, bool bin = false) } string write_datas(size_t userid, string data) { - std::unique_lock locker(conLock_); + std::unique_lock locker(conLock_s); //write_data((size_t)connection.get(),output_str); string retString; ptime now = second_clock::local_time(); string now_str = to_iso_extended_string(now.date()) + " " + to_simple_string(now.time_of_day()); try { - //uploads[userid].addData(data); - auto iter = uploads.find(userid); - if (iter != uploads.end()) + //uploadss[userid].addData(data); + auto iter = uploadss.find(userid); + if (iter != uploadss.end()) { //cout << iter->second << endl; iter->second.addData(data); @@ -134,12 +134,12 @@ string write_datas(size_t userid, string data) } void finish_uploads(size_t userid) { - std::unique_lock locker(conLock_); - auto iter = uploads.find(userid); - if (iter != uploads.end()) + std::unique_lock locker(conLock_s); + auto iter = uploadss.find(userid); + if (iter != uploadss.end()) { iter->second.close(); - uploads.erase(userid); + uploadss.erase(userid); } //cout << "double free" << endl; } @@ -194,18 +194,18 @@ void server_sends(WssServer& server, shared_ptr connectio string rename_files(string data_oldFile, string data_newFile) { - std::unique_lock locker(conLock_); - //uploadsinit((size_t)connection.get(),filename,size,true); + std::unique_lock locker(conLock_s); + //uploadssinit((size_t)connection.get(),filename,size,true); string retString; ptime now = second_clock::local_time(); string now_str = to_iso_extended_string(now.date()) + " " + to_simple_string(now.time_of_day()); try { - /*cout << nfspath + data_oldFile << endl; - cout << nfspath + data_newFile << endl;*/ - fs::path oldpath(nfspath + data_oldFile); - fs::path newpath(nfspath + data_newFile); + /*cout << nfspaths + data_oldFile << endl; + cout << nfspaths + data_newFile << endl;*/ + fs::path oldpath(nfspaths + data_oldFile); + fs::path newpath(nfspaths + data_newFile); fs::rename(oldpath, newpath); cout << "rename success" << endl; @@ -228,7 +228,7 @@ string rename_files(string data_oldFile, string data_newFile) } bool directory_is_emptys(fs::path p) { - std::unique_lock locker(directory_is_empty_lock); + std::unique_lock locker(directory_is_empty_locks); //cout << "directory_is_empty" << endl; try { @@ -300,7 +300,7 @@ bool directory_is_emptys(fs::path p) } bool delete_files(string file,bool delete_empty) { - std::unique_lock locker(conLock_); + std::unique_lock locker(conLock_s); try { @@ -339,7 +339,7 @@ bool delete_files(string file,bool delete_empty) void listfiles(ptree& listfiletree, string path) { - std::unique_lock locker(directory_is_empty_lock); + std::unique_lock locker(directory_is_empty_locks); //cout << "directory_is_empty" << endl; //ptree filetree; try @@ -434,7 +434,7 @@ void serverResourceUploads(WssServer& server, string url) } else { - fs::path p(nfspath+file); + fs::path p(nfspaths+file); if (fs::exists(p)) { retString = "{\"action\":\"UPLOAD_FILE\",\"errorCode\": -9001,\"message\":\"file exist\",\"phase\":\"PREPARE\",\"ts\":\"" + now_str + "\"}"; @@ -667,7 +667,7 @@ void serverResourceDeletes(WssServer& server, string url) for (ptree::iterator it = pdata_files.begin(); it != pdata_files.end(); ++it) { string file = it->second.get("file"); - if (delete_files(nfspath + file, pdata_deleteDir)) + if (delete_files(nfspaths + file, pdata_deleteDir)) count++; } @@ -785,7 +785,7 @@ void serverResourceLists(WssServer& server, string url) { ptree listfiletree; string type = it->second.get("type"); - listfiles(listfiletree, nfspath+"/"+storagePath+"/"+type); + listfiles(listfiletree, nfspaths+"/"+storagePath+"/"+type); pinfiles.add_child(type, listfiletree); } datachidren.add_child("files", pinfiles); From dd4736d6992d43931e9e7dfaa809ee7c247f0ad9 Mon Sep 17 00:00:00 2001 From: lzxm160 Date: Tue, 26 Apr 2016 14:33:50 +0800 Subject: [PATCH 04/19] add wss --- client_wss.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client_wss.hpp b/client_wss.hpp index 2a8651e..71dece5 100644 --- a/client_wss.hpp +++ b/client_wss.hpp @@ -39,7 +39,7 @@ namespace SimpleWeb { asio_resolver.async_resolve(query, [this] (const boost::system::error_code &ec, boost::asio::ip::tcp::resolver::iterator it){ if(!ec) { - connection=std::shared_ptr(new Connection(new WSS(asio_io_service, context))); + connection=std::unique_ptr(new Connection(new WSS(asio_io_service, context))); boost::asio::async_connect(connection->socket->lowest_layer(), it, [this] (const boost::system::error_code &ec, boost::asio::ip::tcp::resolver::iterator it){ From 85469c723d783ae8f1acb3fe3999e160746cd61e Mon Sep 17 00:00:00 2001 From: lzxm160 Date: Tue, 26 Apr 2016 14:35:32 +0800 Subject: [PATCH 05/19] add wss --- crm-test_renesola_com.crt | 98 +++++++++++++++++++++++++++++++++++++++ crm-test_renesola_com.key | 28 +++++++++++ 2 files changed, 126 insertions(+) create mode 100644 crm-test_renesola_com.crt create mode 100644 crm-test_renesola_com.key diff --git a/crm-test_renesola_com.crt b/crm-test_renesola_com.crt new file mode 100644 index 0000000..3b0fe0a --- /dev/null +++ b/crm-test_renesola_com.crt @@ -0,0 +1,98 @@ +-----BEGIN CERTIFICATE----- +MIIFNDCCBBygAwIBAgIQP/I0jJzEtW2lpZS21AfGUDANBgkqhkiG9w0BAQsFADBw +MQswCQYDVQQGEwJDTjERMA8GA1UECBMIU2hhbmdoYWkxJTAjBgNVBAoTHFRydXN0 +QXNpYSBUZWNobm9sb2dpZXMsIEluYy4xJzAlBgNVBAMTHlRydXN0QXNpYSBSU0Eg +RFYgU1NMIFNlcnZlciBDQTAeFw0xNjA0MjIwMDAwMDBaFw0xNjA1MjIyMzU5NTla +MGAxITAfBgNVBAsTGERvbWFpbiBDb250cm9sIFZhbGlkYXRlZDEbMBkGA1UECxMS +VHJ1c3RBc2lhIEZyZWUgU1NMMR4wHAYDVQQDExVjcm0tdGVzdC5yZW5lc29sYS5j +b20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDMKdr6y49pjdYYxnm8 +NFbMQHUnj7olIKfLQfBDzMaSh8pZZV8PE5g9rYBRiaH8pLJtpFLrRWaw5EN6RShK +jeO7W+l62PYSlKQwW2CwORmpVcL1ZEcA8AjrbHLSZ/AsPqFgo6yvMyoDEX9vxsYP +tfDyCRFzI4JCzE6AstoZpycEmcGjQfcOPLMia76Xz+EB/Bg1v3R5tRsLuACfHwOj +99er+iZ4IHyS0Z5FYSvN90GyvL/ICrk+ZasllaNS+i2+AQBRvFXCKgeBZpXuX6Hi +t43dXvhsGwpvgMJirXR1tqu9Jctu8HVeMZyNZpClooHwGVNEamrZLctwWX0/sS8S +/UZhAgMBAAGjggHYMIIB1DAfBgNVHSMEGDAWgBR7FhLOvGeCvXj0NqvcT2sXSgXt +pTAdBgNVHQ4EFgQUDoKa3fCj6Vkb7gs60IMWpDm7XpQwDgYDVR0PAQH/BAQDAgWg +MAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMEsG +A1UdIAREMEIwNgYLKwYBBAGyMQECAjEwJzAlBggrBgEFBQcCARYZaHR0cHM6Ly9j +cHMudXNlcnRydXN0LmNvbTAIBgZngQwBAgEwSgYDVR0fBEMwQTA/oD2gO4Y5aHR0 +cDovL2NybC50cnVzdGFzaWFzc2wuY29tL1RydXN0QXNpYVJTQURWU1NMU2VydmVy +Q0EuY3JsMH8GCCsGAQUFBwEBBHMwcTBFBggrBgEFBQcwAoY5aHR0cDovL2NydC50 +cnVzdGFzaWFzc2wuY29tL1RydXN0QXNpYVJTQURWU1NMU2VydmVyQ0EuY3J0MCgG +CCsGAQUFBzABhhxodHRwOi8vb2NzcC50cnVzdGFzaWFzc2wuY29tMDsGA1UdEQQ0 +MDKCFWNybS10ZXN0LnJlbmVzb2xhLmNvbYIZd3d3LmNybS10ZXN0LnJlbmVzb2xh +LmNvbTANBgkqhkiG9w0BAQsFAAOCAQEAZltOlxkZYIOG/+DabYYMsVoRccU0d3mp +XcQVFq4ZoakW4R/HA2iPoycvFZlgs/yyGcUIc67F+zUvXisw0uAaSuyL9KnNorO+ +KnImlB5m7ANbhoFD733/BGtVlx5r7SyO1BG3jZLH3tUvZ/Uu01aq3nhr0KT6HHLr +eeXlO0YKgBpCKkELSrXSXHq5ck3uoQdOvEMPojxQsuqTUBeomTVZcNDkB98p7Rns +Wb7PbBZh58GoqAXevfT7tuw8zxXNMgbEUsrcoFPEvAry78JzrB+R8bx1AgTm6i7c +76bZVpgyq77KfWoS5L+VSpcMtelychoP8WEnFqZFcKjZd2VfgU7v6w== +-----END CERTIFICATE----- + +-----BEGIN CERTIFICATE----- +MIIF+jCCA+KgAwIBAgIQAdFs++0ey5zfaqIxz4xU+TANBgkqhkiG9w0BAQwFADCB +iDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0pl +cnNleSBDaXR5MR4wHAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNV +BAMTJVVTRVJUcnVzdCBSU0EgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTUw +MzExMDAwMDAwWhcNMjUwMzEwMjM1OTU5WjBwMQswCQYDVQQGEwJDTjERMA8GA1UE +CBMIU2hhbmdoYWkxJTAjBgNVBAoTHFRydXN0QXNpYSBUZWNobm9sb2dpZXMsIElu +Yy4xJzAlBgNVBAMTHlRydXN0QXNpYSBSU0EgRFYgU1NMIFNlcnZlciBDQTCCASIw +DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKVXxe36oseRAbs4z+/mLAWrYUom +QDA0DwiDfYyqf8nrTG/wxELxtboEGBF4U5NbEye/i5t9in+mdbzdwpN657myfypS +l2sC2YyY7ArmRxgTFyrtxhdzBLVnJEly2EAxk06QBwzcEfMJ5dWKpqcDY85K4N/C +hO4E2BjzZRG7F3kZlo0T2oDbymNUt3J//cFwSiKl4LuSIUmvkUexbEG+75kvMZ5U +5P3/C/becM61izwn+ftHFS7j9Rn7Hut4yqn+ePUOcBFZ6U02lcRDAPElq3SzyOvW +mJxUTRiYHrnSK4qFHCBnNmfSlQvKUAo30Az4UiDcro+9YWtriR90DKbZrFECAwEA +AaOCAXUwggFxMB8GA1UdIwQYMBaAFFN5v1qqK0rPVIDh2JvAnfKyA2bLMB0GA1Ud +DgQWBBR7FhLOvGeCvXj0NqvcT2sXSgXtpTAOBgNVHQ8BAf8EBAMCAYYwEgYDVR0T +AQH/BAgwBgEB/wIBADAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwIgYD +VR0gBBswGTANBgsrBgEEAbIxAQICMTAIBgZngQwBAgEwUAYDVR0fBEkwRzBFoEOg +QYY/aHR0cDovL2NybC51c2VydHJ1c3QuY29tL1VTRVJUcnVzdFJTQUNlcnRpZmlj +YXRpb25BdXRob3JpdHkuY3JsMHYGCCsGAQUFBwEBBGowaDA/BggrBgEFBQcwAoYz +aHR0cDovL2NydC51c2VydHJ1c3QuY29tL1VTRVJUcnVzdFJTQUFkZFRydXN0Q0Eu +Y3J0MCUGCCsGAQUFBzABhhlodHRwOi8vb2NzcC51c2VydHJ1c3QuY29tMA0GCSqG +SIb3DQEBDAUAA4ICAQAHygz5l1zWzcKT859aQgyDfUsiLyH+UKJ8jqSzOHb8A7Af +iK/K0HSZrg5tKiU90x2K/SpVuMmXlxNlxs7X1oDRvpgf8FHXZeVqm7fxuaFJ1fRi +Y73w9ClVhuvfYs2ziLyFt99nudgz9o/oroCe6gihR3LJW6jyS5LXcWE+uzv5CgLI +6cHPjQdpgk8AcjqNBtqGiL7WgXRQMKHyb8jeBozKLi9M/VNW44WSaCs0JzXxBglL +6fYOqOgF9lqrVVp257R3W4oqhbbHZ/2NY39hqs91YCBWhdVQvBYqM5b9N+v2+aEn +RRYdyabdHUpMJ+5Jmbf9ydAcCix9eS8QMZbgal3vrwbJR6/MqOvuKcrBXe7j7ZxH +WhL177r+e9SHzUcpCATDUJrL9fjCoBvWifiP9oPCVHkfpEYD9uu7sc+fBfFJP9V5 +mEQd0Vk5neWsNSq8cpfI7Ok4/R920+BD4an1Pkx9tly8P7Vza8aXSyv3OIplRYgr +4Qf+6Cp2hVSSHL1Sv8D9TwvCqVvH7Zb1WwvuX4UHKo/Ae1cUiiEyavWGBo9o7bnV +tyRdxTJmn6f6PeKe1u+HTCBoEuoVF22DJcbwTFiJ2U5voyb+OS6XXvIOIWOP+Imz +3+WHDNM1GuNGDqz25zKCkl03MvK0Yw2FwT/HhSMSs1VmT5iCzaKXS7YgtGETKg== +-----END CERTIFICATE----- + +-----BEGIN CERTIFICATE----- +MIIFdzCCBF+gAwIBAgIQE+oocFv07O0MNmMJgGFDNjANBgkqhkiG9w0BAQwFADBv +MQswCQYDVQQGEwJTRTEUMBIGA1UEChMLQWRkVHJ1c3QgQUIxJjAkBgNVBAsTHUFk +ZFRydXN0IEV4dGVybmFsIFRUUCBOZXR3b3JrMSIwIAYDVQQDExlBZGRUcnVzdCBF +eHRlcm5hbCBDQSBSb290MB4XDTAwMDUzMDEwNDgzOFoXDTIwMDUzMDEwNDgzOFow +gYgxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpOZXcgSmVyc2V5MRQwEgYDVQQHEwtK +ZXJzZXkgQ2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMS4wLAYD +VQQDEyVVU0VSVHJ1c3QgUlNBIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIICIjAN +BgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAgBJlFzYOw9sIs9CsVw127c0n00yt +UINh4qogTQktZAnczomfzD2p7PbPwdzx07HWezcoEStH2jnGvDoZtF+mvX2do2NC +tnbyqTsrkfjib9DsFiCQCT7i6HTJGLSR1GJk23+jBvGIGGqQIjy8/hPwhxR79uQf +jtTkUcYRZ0YIUcuGFFQ/vDP+fmyc/xadGL1RjjWmp2bIcmfbIWax1Jt4A8BQOujM +8Ny8nkz+rwWWNR9XWrf/zvk9tyy29lTdyOcSOk2uTIq3XJq0tyA9yn8iNK5+O2hm +AUTnAU5GU5szYPeUvlM3kHND8zLDU+/bqv50TmnHa4xgk97Exwzf4TKuzJM7UXiV +Z4vuPVb+DNBpDxsP8yUmazNt925H+nND5X4OpWaxKXwyhGNVicQNwZNUMBkTrNN9 +N6frXTpsNVzbQdcS2qlJC9/YgIoJk2KOtWbPJYjNhLixP6Q5D9kCnusSTJV882sF +qV4Wg8y4Z+LoE53MW4LTTLPtW//e5XOsIzstAL81VXQJSdhJWBp/kjbmUZIO8yZ9 +HE0XvMnsQybQv0FfQKlERPSZ51eHnlAfV1SoPv10Yy+xUGUJ5lhCLkMaTLTwJUdZ ++gQek9QmRkpQgbLevni3/GcV4clXhB4PY9bpYrrWX1Uu6lzGKAgEJTm4Diup8kyX +HAc/DVL17e8vgg8CAwEAAaOB9DCB8TAfBgNVHSMEGDAWgBStvZh6NLQm9/rEJlTv +A73gJMtUGjAdBgNVHQ4EFgQUU3m/WqorSs9UgOHYm8Cd8rIDZsswDgYDVR0PAQH/ +BAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8wEQYDVR0gBAowCDAGBgRVHSAAMEQGA1Ud +HwQ9MDswOaA3oDWGM2h0dHA6Ly9jcmwudXNlcnRydXN0LmNvbS9BZGRUcnVzdEV4 +dGVybmFsQ0FSb290LmNybDA1BggrBgEFBQcBAQQpMCcwJQYIKwYBBQUHMAGGGWh0 +dHA6Ly9vY3NwLnVzZXJ0cnVzdC5jb20wDQYJKoZIhvcNAQEMBQADggEBAJNl9jeD +lQ9ew4IcH9Z35zyKwKoJ8OkLJvHgwmp1ocd5yblSYMgpEg7wrQPWCcR23+WmgZWn +RtqCV6mVksW2jwMibDN3wXsyF24HzloUQToFJBv2FAY7qCUkDrvMKnXduXBBP3zQ +YzYhBx9G/2CkkeFnvN4ffhkUyWNnkepnB2u0j4vAbkN9w6GAbLIevFOFfdyQoaS8 +Le9Gclc1Bb+7RrtubTeZtv8jkpHGbkD4jylW6l/VXxRTrPBPYer3IsynVgviuDQf +Jtl7GQVoP7o81DgGotPmjw7jtHFtQELFhLRAlSv0ZaBIefYdgWOWnU914Ph85I6p +0fKtirOMxyHNwu8= +-----END CERTIFICATE----- diff --git a/crm-test_renesola_com.key b/crm-test_renesola_com.key new file mode 100644 index 0000000..85b07c6 --- /dev/null +++ b/crm-test_renesola_com.key @@ -0,0 +1,28 @@ +-----BEGIN PRIVATE KEY----- +MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDMKdr6y49pjdYY +xnm8NFbMQHUnj7olIKfLQfBDzMaSh8pZZV8PE5g9rYBRiaH8pLJtpFLrRWaw5EN6 +RShKjeO7W+l62PYSlKQwW2CwORmpVcL1ZEcA8AjrbHLSZ/AsPqFgo6yvMyoDEX9v +xsYPtfDyCRFzI4JCzE6AstoZpycEmcGjQfcOPLMia76Xz+EB/Bg1v3R5tRsLuACf +HwOj99er+iZ4IHyS0Z5FYSvN90GyvL/ICrk+ZasllaNS+i2+AQBRvFXCKgeBZpXu +X6Hit43dXvhsGwpvgMJirXR1tqu9Jctu8HVeMZyNZpClooHwGVNEamrZLctwWX0/ +sS8S/UZhAgMBAAECggEBAIyn/Wyxl3EyPaE+BBqMuIvpkI0b8TOpBtD68avURa4o +DVl/hHkfl9BOW0xRlR843JC7GEFsw+30pSR0xuhuTsoC7Z0sIoP0khWarsdZ33sR +Ucq8NkrIFG0VfxnEb+wbjhTFTrA5gKUyheidOlESmRg29SWs/g5FMYRrM+VeinwY +stY4e0eyACBzspz4kFy17EYbVQE0A815VmBLcGL7B74FKlJ3JJMBVEAFM4ySZVmC +bsnTQtQs3XEkLlrImOCqByFrbfkfHplkmqumwDWF/05W4L3azj/ISVeD92er/lRm +zvB7jUkHcIjil9WeY1i5V1JNVi+R3D5/pQmVLTbdLG0CgYEA7bNsvQuoWP45167n ++gYYMcf2b8Ijcl6G3Qc4n4Ht1E0EOBCJTobHFZAeXUgwbSzz6TeCFOMJfRv5hqYT +pJpl/FG3XuqTNorLCQ8K8THcxtCt6JVwk54a47dYvrpgtyKCO3KiId9x3baSWdhD +fprmqt5OI9Z3m9leHsFvPLQQujMCgYEA2+F7DlEt4bX/GA7b4s2/TR2WVbsPvsq5 +uKIrTH4wZOATSD7oGZVqtG0nndNNEItXm/n27yVEAXYGgRJlo5IMoSehrVFiCAsK +aDcb+Dy+98NcvTxeaHJ7O6864lU98Bx9RZzBMAP2yQmURVx6K/8V9OprLSr6kMTq +Argw6PPy0RsCgYBKKDX+bIqi6P1mupyItioKLdZGW4zve2obvsr9iG2IVFbCnvYX +V5j4szOl6oWhKesWkUi193bYX0fjqCBss/apV10b8Zbn5zkcpGLHiMTWCfiXnTe3 +9hVxgZvgNQlDWTLEFSlb4/gEMZdLDFtSPkVEfYJnT9uU9aWVdsebapnlXQKBgAJp +i98RVu6F/6F08EahuTqQW4jfP4H5WWZEKTNyovdIWg3N2uAE+qG2HNwnaE4JKVHl +wSbIguF9OP8Lg5/yxz6xX522Kdwqutd/20ey6ulu9EKDOgntT5rNBllbVA2hUmKE +IL51HK0B9OV56UE4UDZaqAhb01npPyP+f1Le8kgHAoGBAMQlwIw2wnsVaK0/59IP +NfTpmWwym9WvbZdsfJo0ioZ8cWijj9/kGY1x5jE8ZfbtGN2zrougFfvwNPa1Mcz5 +oC69gTDe7aLu/EY18t87Iw9EirhdbOK5M0L/4foz/YByVSLkXgsMevSqIPbZK+Ic +2vAGFzYyZ/gvu7ndHtDSqY6/ +-----END PRIVATE KEY----- From 66d09e215341e945cc190ce4e11773e2d93e8325 Mon Sep 17 00:00:00 2001 From: lzxm160 Date: Tue, 26 Apr 2016 14:38:04 +0800 Subject: [PATCH 06/19] add wss --- websocket.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/websocket.cpp b/websocket.cpp index 0ef22fe..f696249 100644 --- a/websocket.cpp +++ b/websocket.cpp @@ -68,10 +68,10 @@ int main() { serverResourceUploads(servers, upload_url); serverResourceRenames(servers, rename_url); serverResourceDeletes(servers, delete_url); - serverResourceLists(server, list_url); - thread server_threads([&server](){ + serverResourceLists(servers, list_url); + thread server_threads([&servers](){ //Start WS-server - server.start(); + servers.start(); }); this_thread::sleep_for(chrono::seconds(1)); From 90303ebb3764e1b50c2422ac26300988c2ccbd2f Mon Sep 17 00:00:00 2001 From: lzxm160 Date: Tue, 26 Apr 2016 14:40:08 +0800 Subject: [PATCH 07/19] add wss --- config.ini | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/config.ini b/config.ini index 70e5397..24df5a1 100644 --- a/config.ini +++ b/config.ini @@ -8,8 +8,8 @@ delete_url=delete list_url=list startLevel=0 buildVersion=Apollo-1.0-2015.06-01-1 -server_crt=server.crt -server_key=server.key +server_crt=crm-test_renesola_com.crt +server_key=crm-test_renesola_com.key [nfs] path=/opt/renesola/apollo/rootnfs From 295d4e6320e6d3ec0e11ec3ac41d892ebf5c6b4e Mon Sep 17 00:00:00 2001 From: lzxm160 Date: Tue, 26 Apr 2016 14:45:05 +0800 Subject: [PATCH 08/19] add wss --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index a4087f4..abacca2 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,6 @@ all:websocket -CXXFLAGS ?= -std=c++11 -g -O3 -L. -L/usr/local/lib -L. -lcrypto -lboost_program_options -lboost_filesystem -lboost_coroutine -lboost_system -lboost_thread -lpthread -lboost_context -lboost_date_time -lboost_log_setup -lboost_log -DBOOST_ASIO_ENABLE_HANDLER_TRACKING +CXXFLAGS ?= -std=c++11 -g -O3 -L. -L/usr/local/lib -L. -lcrypto -lboost_program_options -lboost_filesystem -lboost_coroutine -lboost_system -lboost_thread -lpthread -lboost_context -lboost_date_time -lboost_log_setup -lboost_log -lssl -DBOOST_ASIO_ENABLE_HANDLER_TRACKING daemon:websocketDaemon websocketDaemon: websocket.cpp base64.cpp modp_base64/modp_b64.cc renesolalog.cpp From 0b404468f6006a32aac3a0c22abe3159a7b8c269 Mon Sep 17 00:00:00 2001 From: lzxm160 Date: Tue, 26 Apr 2016 14:50:56 +0800 Subject: [PATCH 09/19] test wss --- websocket.cpp | 38 +++++++++++++++++++++++++++++++++++++- 1 file changed, 37 insertions(+), 1 deletion(-) diff --git a/websocket.cpp b/websocket.cpp index f696249..de1b37c 100644 --- a/websocket.cpp +++ b/websocket.cpp @@ -73,8 +73,44 @@ int main() { //Start WS-server servers.start(); }); - this_thread::sleep_for(chrono::seconds(1)); + this_thread::sleep_for(chrono::seconds(2)); + + +{ + //test wss + WssClient client("localhost:8081/upload", false); + client.onmessage=[&client](shared_ptr message) { + auto message_str=message->string(); + + cout << "Client: Message received: \"" << message_str << "\"" << endl; + + cout << "Client: Sending close connection" << endl; + client.send_close(1000); + }; + + client.onopen=[&client]() { + cout << "Client: Opened connection" << endl; + + string message="Hello"; + cout << "Client: Sending message: \"" << message << "\"" << endl; + + auto send_stream=make_shared(); + *send_stream << message; + client.send(send_stream); + }; + + client.onclose=[](int status, const string& reason) { + cout << "Client: Closed connection with status code " << status << endl; + }; + + //See http://www.boost.org/doc/libs/1_55_0/doc/html/boost_asio/reference.html, Error Codes for error code meanings + client.onerror=[](const boost::system::error_code& ec) { + cout << "Client: Error: " << ec << ", error message: " << ec.message() << endl; + }; + + client.start(); +} server_threads.join(); From 2463991f078713d128f56be6e002161c31c07b50 Mon Sep 17 00:00:00 2001 From: lzxm160 Date: Tue, 26 Apr 2016 15:00:26 +0800 Subject: [PATCH 10/19] test wss --- websocket.cpp | 89 ++++++++++++++++++++++++++++++++++----------------- 1 file changed, 59 insertions(+), 30 deletions(-) diff --git a/websocket.cpp b/websocket.cpp index de1b37c..5cedb50 100644 --- a/websocket.cpp +++ b/websocket.cpp @@ -80,36 +80,65 @@ int main() { { //test wss WssClient client("localhost:8081/upload", false); - client.onmessage=[&client](shared_ptr message) { - auto message_str=message->string(); - - cout << "Client: Message received: \"" << message_str << "\"" << endl; - - cout << "Client: Sending close connection" << endl; - client.send_close(1000); - }; - - client.onopen=[&client]() { - cout << "Client: Opened connection" << endl; - - string message="Hello"; - cout << "Client: Sending message: \"" << message << "\"" << endl; - - auto send_stream=make_shared(); - *send_stream << message; - client.send(send_stream); - }; - - client.onclose=[](int status, const string& reason) { - cout << "Client: Closed connection with status code " << status << endl; - }; - - //See http://www.boost.org/doc/libs/1_55_0/doc/html/boost_asio/reference.html, Error Codes for error code meanings - client.onerror=[](const boost::system::error_code& ec) { - cout << "Client: Error: " << ec << ", error message: " << ec.message() << endl; - }; - - client.start(); + client.onmessage = [&client](shared_ptr message) { + stringstream data_ss; + data_ss << message->data.rdbuf(); + cout << "Client: Message received: \"" << data_ss.str() << "\"" << endl; + cout << "Client: Sending close connection" << endl; + client.send_close(1000); + + /*ptree pt; + read_json(data_ss, pt); + string phase = pt.get("phase"); + if (phase.compare("TRANSFER") == 0) + { + cout << "Client: Sending close connection" << endl; + client.send_close(1000); + } + else + { + stringstream sss; + + sss << "sffafasfdaf"; + cout << "Client: Sending message: \"" << sss.str() << "\"" << endl; + client.send(sss); + }*/ + + + + + + }; + + client.onopen = [&client]() { + cout << __LINE__<<" Client: Opened connection" << endl; + + stringstream ss; + + ss << "#PREPARE#{\ + \"action\": \"UPLOAD_FILE\",\ + \"transfer\" : \"base64\",\ + \"data\" : {\ + \"file\":\"/1/test.pdf\",\ + \"size\" : 11,\ + \"overwrite\" : true},\ + \"ts\" : \"2015 - 07 - 31 08 : 00 : 00\"}"; + + cout << "Client: Sending message: \"" << ss.str() << "\"" << endl; + client.send(ss); + + }; + + client.onclose = [](int status, const string& reason) { + cout << "Client: Closed connection with status code " << status << endl; + }; + + //See http://www.boost.org/doc/libs/1_55_0/doc/html/boost_asio/reference.html, Error Codes for error code meanings + client.onerror = [](const boost::system::error_code& ec) { + cout << "Client: Error: " << ec << ", error message: " << ec.message() << endl; + }; + + client.start(); } From 4f2b8d06fa9c0ca30d6d078b92e54180e094a67a Mon Sep 17 00:00:00 2001 From: lzxm160 Date: Tue, 26 Apr 2016 15:12:07 +0800 Subject: [PATCH 11/19] test wss --- websocket.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/websocket.cpp b/websocket.cpp index 5cedb50..b8019c0 100644 --- a/websocket.cpp +++ b/websocket.cpp @@ -80,7 +80,7 @@ int main() { { //test wss WssClient client("localhost:8081/upload", false); - client.onmessage = [&client](shared_ptr message) { + client.onmessage = [&client](shared_ptr message) { stringstream data_ss; data_ss << message->data.rdbuf(); cout << "Client: Message received: \"" << data_ss.str() << "\"" << endl; From fb3708d6ce2812675b73135fecb2eb1d481bd50b Mon Sep 17 00:00:00 2001 From: lzxm160 Date: Tue, 26 Apr 2016 15:17:01 +0800 Subject: [PATCH 12/19] test wss --- Makefile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index abacca2..7d2e2df 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,7 @@ all:websocket -CXXFLAGS ?= -std=c++11 -g -O3 -L. -L/usr/local/lib -L. -lcrypto -lboost_program_options -lboost_filesystem -lboost_coroutine -lboost_system -lboost_thread -lpthread -lboost_context -lboost_date_time -lboost_log_setup -lboost_log -lssl -DBOOST_ASIO_ENABLE_HANDLER_TRACKING +CXXFLAGS ?= -std=c++11 -g -O3 -L. -L/usr/local/lib -L. -lcrypto -lboost_program_options -lboost_filesystem -lboost_coroutine -lboost_system -lboost_thread -lpthread -lboost_context -lboost_date_time -lboost_log_setup -lboost_log -lssl + daemon:websocketDaemon websocketDaemon: websocket.cpp base64.cpp modp_base64/modp_b64.cc renesolalog.cpp From b964002e25d1f59274cc5fd5cf9a54ed7a2a183d Mon Sep 17 00:00:00 2001 From: lzxm160 Date: Tue, 26 Apr 2016 15:25:12 +0800 Subject: [PATCH 13/19] test wss --- websocket.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/websocket.cpp b/websocket.cpp index b8019c0..64f82de 100644 --- a/websocket.cpp +++ b/websocket.cpp @@ -84,13 +84,13 @@ int main() { stringstream data_ss; data_ss << message->data.rdbuf(); cout << "Client: Message received: \"" << data_ss.str() << "\"" << endl; - cout << "Client: Sending close connection" << endl; - client.send_close(1000); + // cout << "Client: Sending close connection" << endl; + // client.send_close(1000); - /*ptree pt; + ptree pt; read_json(data_ss, pt); string phase = pt.get("phase"); - if (phase.compare("TRANSFER") == 0) + if (phase.compare("2") == 0) { cout << "Client: Sending close connection" << endl; client.send_close(1000); @@ -102,7 +102,7 @@ int main() { sss << "sffafasfdaf"; cout << "Client: Sending message: \"" << sss.str() << "\"" << endl; client.send(sss); - }*/ + } From 608567ec5d92fd93e445f250ca6d95d96ab1cccf Mon Sep 17 00:00:00 2001 From: lzxm160 Date: Tue, 26 Apr 2016 15:29:32 +0800 Subject: [PATCH 14/19] test wss --- websocket.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/websocket.cpp b/websocket.cpp index 64f82de..4b43461 100644 --- a/websocket.cpp +++ b/websocket.cpp @@ -90,7 +90,7 @@ int main() { ptree pt; read_json(data_ss, pt); string phase = pt.get("phase"); - if (phase.compare("2") == 0) + if (phase.compare("TRANSFER") == 0) { cout << "Client: Sending close connection" << endl; client.send_close(1000); From 2e9481e78b032aa0b00192178a46b0e067e64a68 Mon Sep 17 00:00:00 2001 From: lzxm160 Date: Tue, 26 Apr 2016 19:23:12 +0800 Subject: [PATCH 15/19] test wss --- serverResources.hpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/serverResources.hpp b/serverResources.hpp index 0a7e640..8a9da95 100644 --- a/serverResources.hpp +++ b/serverResources.hpp @@ -502,9 +502,9 @@ void serverResourceUploads(WssServer& server, string url) }; websocket.onopen = [&server](shared_ptr connection) { - cout << "upload Server: Opened connection " << (size_t)connection.get() << endl; + cout << "wss server: Opened connection " << (size_t)connection.get() << endl; //************************************************ - BOOST_LOG_SEV(server.slg, notification) << "upload Server: Opened connection " << (size_t)connection.get(); + BOOST_LOG_SEV(server.slg, notification) << "wss server: Opened connection " << (size_t)connection.get(); server.initsink->flush(); //************************************************ }; @@ -513,18 +513,18 @@ void serverResourceUploads(WssServer& server, string url) websocket.onclose = [&server](shared_ptr connection, int status, const string& reason) { finish_uploads((size_t)connection.get()); - cout << "upload Server: Closed connection " << (size_t)connection.get() << " with status code:" << status <<",reason:"<flush(); //************************************************ }; websocket.onerror = [&server](shared_ptr connection, const boost::system::error_code& ec) { - cout << "upload Server: Error in connection " << (size_t)connection.get() << ". " << + cout << "wss server: Error in connection " << (size_t)connection.get() << ". " << "Error: " << ec << ", error message: " << ec.message() << endl; //************************************************ - BOOST_LOG_SEV(server.slg, error) << "upload Server: Error in connection " << (size_t)connection.get() << ". " << + BOOST_LOG_SEV(server.slg, error) << "wss server: Error in connection " << (size_t)connection.get() << ". " << "Error: " << ec << ", error message: " << ec.message(); server.initsink->flush(); //************************************************ From 56c2815b7caa0c27e9b41bdf255ec9780b079ae8 Mon Sep 17 00:00:00 2001 From: lzxm160 Date: Tue, 26 Apr 2016 19:33:59 +0800 Subject: [PATCH 16/19] test wss --- serverResources.hpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/serverResources.hpp b/serverResources.hpp index 8a9da95..bc9c10b 100644 --- a/serverResources.hpp +++ b/serverResources.hpp @@ -183,9 +183,9 @@ void server_send_datas(WssServer& server, shared_ptr conn } void server_sends(WssServer& server, shared_ptr connection, string retString, string action) { - cout << action << " Server: Sending message \"" << retString << "\" to " << (size_t)connection.get() << endl; + cout << action << "wss Server: Sending message \"" << retString << "\" to " << (size_t)connection.get() << endl; //************************************************ - BOOST_LOG_SEV(server.slg, notification) << action << " Server: Sending message \"" << retString << "\" to " << (size_t)connection.get(); + BOOST_LOG_SEV(server.slg, notification) << action << "wss Server: Sending message \"" << retString << "\" to " << (size_t)connection.get(); server.initsink->flush(); //************************************************ server_send_datas(server, connection, retString, action); From 771b0d097ea236e5a71acb12b7c227395449b1c9 Mon Sep 17 00:00:00 2001 From: lzxm160 Date: Tue, 3 May 2016 14:38:05 +0800 Subject: [PATCH 17/19] nfspaths --- websocket.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/websocket.cpp b/websocket.cpp index 4b43461..fa77796 100644 --- a/websocket.cpp +++ b/websocket.cpp @@ -29,6 +29,7 @@ int main() { delete_url = "^/" + pt.get("webserver.delete_url") + "/?$"; list_url = "^/" + pt.get("webserver.list_url") + "/?$"; nfspath = pt.get("nfs.path"); + nfspaths = pt.get("nfs.path"); } cout << port << endl;; From d4692cbc29944321efad6dc106a80bec74f7e724 Mon Sep 17 00:00:00 2001 From: lzxm160 Date: Tue, 3 May 2016 15:18:05 +0800 Subject: [PATCH 18/19] wss ok --- readme.txt | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/readme.txt b/readme.txt index b9f810b..290640b 100644 --- a/readme.txt +++ b/readme.txt @@ -1,17 +1,17 @@ -1、增加异常处理try catch -2、增加日志 -3、定义接口,文件存放目录及是否需要权限问题 -4、ie不兼容需要找人改写 +锘1銆佸鍔犲紓甯稿鐞唗ry catch +2銆佸鍔犳棩蹇 +3銆佸畾涔夋帴鍙,鏂囦欢瀛樻斁鐩綍鍙婃槸鍚﹂渶瑕佹潈闄愰棶棰 +4銆乮e涓嶅吋瀹归渶瑕佹壘浜烘敼鍐 -1、增加配置 -nfs挂载目录 -文件名字有重复时是覆盖写还是追加写 +1銆佸鍔犻厤缃 +nfs鎸傝浇鐩綍 +鏂囦欢鍚嶅瓧鏈夐噸澶嶆椂鏄鐩栧啓杩樻槸杩藉姞鍐 try catch -更改root用户为websocket不可行,设置nfs写文件为nfsnobody用户 +鏇存敼root鐢ㄦ埛涓簑ebsocket涓嶅彲琛岋紝璁剧疆nfs鍐欐枃浠朵负nfsnobody鐢ㄦ埛 -2、日志 +2銆佹棩蹇 client:{"filename":"1332.png","size":302779,"type":"base64","parameters":[]} server: @@ -19,7 +19,7 @@ server: "{\"type\":\"STOR\",\"message\":\"init file failed\",\"code\": 500}"; -client:发送文件内容,当内容发送完时关闭连接 +client:鍙戦佹枃浠跺唴瀹,褰撳唴瀹瑰彂閫佸畬鏃跺叧闂繛鎺 server: "{\"type\":\"DATA\",\"code\": 200,\"bytesRead\":1024}"; @@ -49,4 +49,9 @@ server: ws://172.18.100.72:8080/upload ws://172.18.100.72:8080/rename ws://172.18.100.72:8080/delete -ws://172.18.100.72:8080/list \ No newline at end of file +ws://172.18.100.72:8080/list + +wss://172.18.100.72:8080/upload +wss://172.18.100.72:8080/rename +wss://172.18.100.72:8080/delete +wss://172.18.100.72:8080/list \ No newline at end of file From 363bb06b32ef9cb17c38fb498017412becca4ef2 Mon Sep 17 00:00:00 2001 From: lzxm160 Date: Wed, 24 Aug 2016 08:36:34 +0800 Subject: [PATCH 19/19] have ws and wss --- Makefile | 2 +- readme.txt | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 7d2e2df..5c7591d 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,6 @@ all:websocket -CXXFLAGS ?= -std=c++11 -g -O3 -L. -L/usr/local/lib -L. -lcrypto -lboost_program_options -lboost_filesystem -lboost_coroutine -lboost_system -lboost_thread -lpthread -lboost_context -lboost_date_time -lboost_log_setup -lboost_log -lssl +CXXFLAGS ?= -std=c++11 -O2 -finline-limit=1000 -L. -L/usr/local/lib -L. -lcrypto -lboost_program_options -lboost_filesystem -lboost_coroutine -lboost_system -lboost_thread -lpthread -lboost_context -lboost_date_time -lboost_log_setup -lboost_log -lssl daemon:websocketDaemon diff --git a/readme.txt b/readme.txt index 290640b..14dc7ff 100644 --- a/readme.txt +++ b/readme.txt @@ -1,4 +1,6 @@ -锘1銆佸鍔犲紓甯稿鐞唗ry catch +锘2016.08.24 + +1銆佸鍔犲紓甯稿鐞唗ry catch 2銆佸鍔犳棩蹇 3銆佸畾涔夋帴鍙,鏂囦欢瀛樻斁鐩綍鍙婃槸鍚﹂渶瑕佹潈闄愰棶棰 4銆乮e涓嶅吋瀹归渶瑕佹壘浜烘敼鍐