├── Debug ├── libmysql.dll ├── msvcp100.dll ├── msvcp100d.dll ├── msvcr100.dll ├── msvcr100d.dll └── socket服务端.exe ├── Release ├── libmysql.dll ├── msvcp100.dll ├── msvcr100.dll └── socket服务端.exe ├── socket服务端.sln ├── socket服务端.suo ├── socket服务端 ├── Debug │ ├── MyList.obj │ ├── MyMutex.obj │ ├── MyQueue.obj │ ├── MyStack.obj │ ├── MyThread.obj │ ├── MyThreadPool.obj │ ├── RecAPP.obj │ ├── SaveQueue.obj │ ├── SocketAPP.obj │ ├── SocketTCP.obj │ ├── Task.obj │ ├── TestTask.obj │ ├── json_reader.obj │ ├── json_value.obj │ ├── json_writer.obj │ ├── mSQLSave.obj │ ├── socket服务端.lastbuildstate │ ├── socket服务端.log │ ├── socket服务端.obj │ ├── socket服务端.pch │ ├── socket服务端.tlog │ │ ├── CL.command.1.tlog │ │ ├── CL.read.1.tlog │ │ ├── CL.write.1.tlog │ │ ├── link.command.1.tlog │ │ ├── link.read.1.tlog │ │ ├── link.write.1.tlog │ │ └── socket服务端.lastbuildstate │ ├── stdafx.obj │ ├── vc140.idb │ └── vc140.pdb ├── MyList.cpp ├── MyList.h ├── MyMutex.cpp ├── MyMutex.h ├── MyQueue.cpp ├── MyQueue.h ├── MyStack.cpp ├── MyStack.h ├── MyThread.cpp ├── MyThread.h ├── MyThreadPool.cpp ├── MyThreadPool.h ├── ReadMe.txt ├── RecAPP.cpp ├── Release │ ├── MyList.obj │ ├── MyMutex.obj │ ├── MyQueue.obj │ ├── MyStack.obj │ ├── MyThread.obj │ ├── MyThreadPool.obj │ ├── RecAPP.obj │ ├── SaveQueue.obj │ ├── SocketAPP.obj │ ├── SocketTCP.obj │ ├── Task.obj │ ├── TestTask.obj │ ├── json_reader.obj │ ├── json_value.obj │ ├── json_writer.obj │ ├── mSQLSave.obj │ ├── socket服务端.lastbuildstate │ ├── socket服务端.log │ ├── socket服务端.obj │ ├── socket服务端.pch │ ├── socket服务端.tlog │ │ ├── CL.command.1.tlog │ │ ├── CL.read.1.tlog │ │ ├── CL.write.1.tlog │ │ ├── link.command.1.tlog │ │ ├── link.read.1.tlog │ │ ├── link.write.1.tlog │ │ ├── socket服务端.lastbuildstate │ │ └── socket服务端.write.1u.tlog │ ├── stdafx.obj │ └── vc141.pdb ├── SaveQueue.cpp ├── SaveQueue.h ├── SocketAPP.cpp ├── SocketAPP.h ├── SocketTCP.cpp ├── SocketTCP.h ├── Task.cpp ├── Task.h ├── TestTask.cpp ├── TestTask.h ├── json │ ├── AUTHORS │ ├── LICENSE │ ├── README.txt │ ├── SConstruct │ ├── devtools │ │ ├── __init__.py │ │ ├── antglob.py │ │ ├── fixeol.py │ │ └── tarball.py │ ├── doc │ │ ├── doxyfile.in │ │ ├── footer.html │ │ ├── header.html │ │ ├── jsoncpp.dox │ │ ├── readme.txt │ │ └── roadmap.dox │ ├── doxybuild.py │ ├── include │ │ └── json │ │ │ ├── autolink.h │ │ │ ├── config.h │ │ │ ├── features.h │ │ │ ├── forwards.h │ │ │ ├── json.h │ │ │ ├── reader.h │ │ │ ├── value.h │ │ │ └── writer.h │ ├── makefiles │ │ └── vs71 │ │ │ ├── jsoncpp.sln │ │ │ ├── jsontest.vcproj │ │ │ ├── lib_json.vcproj │ │ │ └── test_lib_json.vcproj │ ├── makerelease.py │ ├── scons-tools │ │ ├── globtool.py │ │ ├── srcdist.py │ │ ├── substinfile.py │ │ └── targz.py │ ├── src │ │ ├── jsontestrunner │ │ │ ├── main.cpp │ │ │ └── sconscript │ │ ├── lib_json │ │ │ ├── json_batchallocator.h │ │ │ ├── json_internalarray.inl │ │ │ ├── json_internalmap.inl │ │ │ ├── json_reader.cpp │ │ │ ├── json_value.cpp │ │ │ ├── json_valueiterator.inl │ │ │ ├── json_writer.cpp │ │ │ └── sconscript │ │ └── test_lib_json │ │ │ ├── jsontest.cpp │ │ │ ├── jsontest.h │ │ │ ├── main.cpp │ │ │ └── sconscript │ ├── test │ │ ├── cleantests.py │ │ ├── data │ │ │ ├── test_array_01.expected │ │ │ ├── test_array_01.json │ │ │ ├── test_array_02.expected │ │ │ ├── test_array_02.json │ │ │ ├── test_array_03.expected │ │ │ ├── test_array_03.json │ │ │ ├── test_array_04.expected │ │ │ ├── test_array_04.json │ │ │ ├── test_array_05.expected │ │ │ ├── test_array_05.json │ │ │ ├── test_array_06.expected │ │ │ ├── test_array_06.json │ │ │ ├── test_basic_01.expected │ │ │ ├── test_basic_01.json │ │ │ ├── test_basic_02.expected │ │ │ ├── test_basic_02.json │ │ │ ├── test_basic_03.expected │ │ │ ├── test_basic_03.json │ │ │ ├── test_basic_04.expected │ │ │ ├── test_basic_04.json │ │ │ ├── test_basic_05.expected │ │ │ ├── test_basic_05.json │ │ │ ├── test_basic_06.expected │ │ │ ├── test_basic_06.json │ │ │ ├── test_basic_07.expected │ │ │ ├── test_basic_07.json │ │ │ ├── test_basic_08.expected │ │ │ ├── test_basic_08.json │ │ │ ├── test_basic_09.expected │ │ │ ├── test_basic_09.json │ │ │ ├── test_comment_01.expected │ │ │ ├── test_comment_01.json │ │ │ ├── test_complex_01.expected │ │ │ ├── test_complex_01.json │ │ │ ├── test_integer_01.expected │ │ │ ├── test_integer_01.json │ │ │ ├── test_integer_02.expected │ │ │ ├── test_integer_02.json │ │ │ ├── test_integer_03.expected │ │ │ ├── test_integer_03.json │ │ │ ├── test_integer_04.expected │ │ │ ├── test_integer_04.json │ │ │ ├── test_integer_05.expected │ │ │ ├── test_integer_05.json │ │ │ ├── test_large_01.expected │ │ │ ├── test_large_01.json │ │ │ ├── test_object_01.expected │ │ │ ├── test_object_01.json │ │ │ ├── test_object_02.expected │ │ │ ├── test_object_02.json │ │ │ ├── test_object_03.expected │ │ │ ├── test_object_03.json │ │ │ ├── test_object_04.expected │ │ │ ├── test_object_04.json │ │ │ ├── test_preserve_comment_01.expected │ │ │ ├── test_preserve_comment_01.json │ │ │ ├── test_real_01.expected │ │ │ ├── test_real_01.json │ │ │ ├── test_real_02.expected │ │ │ ├── test_real_02.json │ │ │ ├── test_real_03.expected │ │ │ ├── test_real_03.json │ │ │ ├── test_real_04.expected │ │ │ ├── test_real_04.json │ │ │ ├── test_real_05.expected │ │ │ ├── test_real_05.json │ │ │ ├── test_real_06.expected │ │ │ ├── test_real_06.json │ │ │ ├── test_real_07.expected │ │ │ ├── test_real_07.json │ │ │ ├── test_string_01.expected │ │ │ ├── test_string_01.json │ │ │ ├── test_string_02.expected │ │ │ ├── test_string_02.json │ │ │ ├── test_string_unicode_01.expected │ │ │ ├── test_string_unicode_01.json │ │ │ ├── test_string_unicode_02.expected │ │ │ ├── test_string_unicode_02.json │ │ │ ├── test_string_unicode_03.expected │ │ │ ├── test_string_unicode_03.json │ │ │ ├── test_string_unicode_04.expected │ │ │ ├── test_string_unicode_04.json │ │ │ ├── test_string_unicode_05.expected │ │ │ └── test_string_unicode_05.json │ │ ├── generate_expected.py │ │ ├── jsonchecker │ │ │ ├── fail1.json │ │ │ ├── fail10.json │ │ │ ├── fail11.json │ │ │ ├── fail12.json │ │ │ ├── fail13.json │ │ │ ├── fail14.json │ │ │ ├── fail15.json │ │ │ ├── fail16.json │ │ │ ├── fail17.json │ │ │ ├── fail18.json │ │ │ ├── fail19.json │ │ │ ├── fail2.json │ │ │ ├── fail20.json │ │ │ ├── fail21.json │ │ │ ├── fail22.json │ │ │ ├── fail23.json │ │ │ ├── fail24.json │ │ │ ├── fail25.json │ │ │ ├── fail26.json │ │ │ ├── fail27.json │ │ │ ├── fail28.json │ │ │ ├── fail29.json │ │ │ ├── fail3.json │ │ │ ├── fail30.json │ │ │ ├── fail31.json │ │ │ ├── fail32.json │ │ │ ├── fail33.json │ │ │ ├── fail4.json │ │ │ ├── fail5.json │ │ │ ├── fail6.json │ │ │ ├── fail7.json │ │ │ ├── fail8.json │ │ │ ├── fail9.json │ │ │ ├── pass1.json │ │ │ ├── pass2.json │ │ │ ├── pass3.json │ │ │ └── readme.txt │ │ ├── pyjsontestrunner.py │ │ ├── runjsontests.py │ │ └── rununittests.py │ └── version ├── mSQLSave.cpp ├── main.cpp ├── mcom.h ├── mysql32 │ ├── include │ │ ├── big_endian.h │ │ ├── binary_log_types.h │ │ ├── byte_order_generic.h │ │ ├── byte_order_generic_x86.h │ │ ├── decimal.h │ │ ├── errmsg.h │ │ ├── keycache.h │ │ ├── little_endian.h │ │ ├── m_ctype.h │ │ ├── m_string.h │ │ ├── my_alloc.h │ │ ├── my_byteorder.h │ │ ├── my_command.h │ │ ├── my_compiler.h │ │ ├── my_config.h │ │ ├── my_dbug.h │ │ ├── my_dir.h │ │ ├── my_getopt.h │ │ ├── my_global.h │ │ ├── my_list.h │ │ ├── my_sys.h │ │ ├── my_thread.h │ │ ├── my_thread_local.h │ │ ├── my_xml.h │ │ ├── mysql.h │ │ ├── mysql │ │ │ ├── client_authentication.h │ │ │ ├── client_plugin.h │ │ │ ├── client_plugin.h.pp │ │ │ ├── com_data.h │ │ │ ├── get_password.h │ │ │ ├── group_replication_priv.h │ │ │ ├── innodb_priv.h │ │ │ ├── mysql_lex_string.h │ │ │ ├── plugin.h │ │ │ ├── plugin_audit.h │ │ │ ├── plugin_audit.h.pp │ │ │ ├── plugin_auth.h │ │ │ ├── plugin_auth.h.pp │ │ │ ├── plugin_auth_common.h │ │ │ ├── plugin_ftparser.h │ │ │ ├── plugin_ftparser.h.pp │ │ │ ├── plugin_group_replication.h │ │ │ ├── plugin_keyring.h │ │ │ ├── plugin_keyring.h.pp │ │ │ ├── plugin_trace.h │ │ │ ├── plugin_validate_password.h │ │ │ ├── psi │ │ │ │ ├── mysql_file.h │ │ │ │ ├── mysql_idle.h │ │ │ │ ├── mysql_mdl.h │ │ │ │ ├── mysql_memory.h │ │ │ │ ├── mysql_ps.h │ │ │ │ ├── mysql_socket.h │ │ │ │ ├── mysql_sp.h │ │ │ │ ├── mysql_stage.h │ │ │ │ ├── mysql_statement.h │ │ │ │ ├── mysql_table.h │ │ │ │ ├── mysql_thread.h │ │ │ │ ├── mysql_transaction.h │ │ │ │ ├── psi.h │ │ │ │ ├── psi_base.h │ │ │ │ └── psi_memory.h │ │ │ ├── service_command.h │ │ │ ├── service_locking.h │ │ │ ├── service_my_plugin_log.h │ │ │ ├── service_my_snprintf.h │ │ │ ├── service_mysql_alloc.h │ │ │ ├── service_mysql_keyring.h │ │ │ ├── service_mysql_password_policy.h │ │ │ ├── service_mysql_string.h │ │ │ ├── service_parser.h │ │ │ ├── service_rpl_transaction_ctx.h │ │ │ ├── service_rpl_transaction_write_set.h │ │ │ ├── service_rules_table.h │ │ │ ├── service_security_context.h │ │ │ ├── service_srv_session.h │ │ │ ├── service_srv_session_info.h │ │ │ ├── service_ssl_wrapper.h │ │ │ ├── service_thd_alloc.h │ │ │ ├── service_thd_engine_lock.h │ │ │ ├── service_thd_wait.h │ │ │ ├── service_thread_scheduler.h │ │ │ ├── services.h │ │ │ ├── services.h.pp │ │ │ ├── thread_pool_priv.h │ │ │ └── thread_type.h │ │ ├── mysql_com.h │ │ ├── mysql_com_server.h │ │ ├── mysql_embed.h │ │ ├── mysql_time.h │ │ ├── mysql_version.h │ │ ├── mysqld_ername.h │ │ ├── mysqld_error.h │ │ ├── plugin.h │ │ ├── plugin_audit.h │ │ ├── plugin_ftparser.h │ │ ├── plugin_group_replication.h │ │ ├── plugin_keyring.h │ │ ├── plugin_validate_password.h │ │ ├── sql_common.h │ │ ├── sql_state.h │ │ ├── sslopt-case.h │ │ ├── sslopt-longopts.h │ │ ├── sslopt-vars.h │ │ ├── thr_cond.h │ │ ├── thr_mutex.h │ │ ├── thr_rwlock.h │ │ └── typelib.h │ └── lib │ │ ├── libmysql.dll │ │ └── libmysql.lib ├── mysql64 │ ├── include │ │ ├── big_endian.h │ │ ├── binary_log_types.h │ │ ├── byte_order_generic.h │ │ ├── byte_order_generic_x86.h │ │ ├── decimal.h │ │ ├── errmsg.h │ │ ├── keycache.h │ │ ├── little_endian.h │ │ ├── m_ctype.h │ │ ├── m_string.h │ │ ├── my_alloc.h │ │ ├── my_byteorder.h │ │ ├── my_command.h │ │ ├── my_compiler.h │ │ ├── my_config.h │ │ ├── my_dbug.h │ │ ├── my_dir.h │ │ ├── my_getopt.h │ │ ├── my_global.h │ │ ├── my_list.h │ │ ├── my_sys.h │ │ ├── my_thread.h │ │ ├── my_thread_local.h │ │ ├── my_xml.h │ │ ├── mysql.h │ │ ├── mysql │ │ │ ├── client_authentication.h │ │ │ ├── client_plugin.h │ │ │ ├── client_plugin.h.pp │ │ │ ├── com_data.h │ │ │ ├── get_password.h │ │ │ ├── group_replication_priv.h │ │ │ ├── innodb_priv.h │ │ │ ├── mysql_lex_string.h │ │ │ ├── plugin.h │ │ │ ├── plugin_audit.h │ │ │ ├── plugin_audit.h.pp │ │ │ ├── plugin_auth.h │ │ │ ├── plugin_auth.h.pp │ │ │ ├── plugin_auth_common.h │ │ │ ├── plugin_ftparser.h │ │ │ ├── plugin_ftparser.h.pp │ │ │ ├── plugin_group_replication.h │ │ │ ├── plugin_keyring.h │ │ │ ├── plugin_keyring.h.pp │ │ │ ├── plugin_trace.h │ │ │ ├── plugin_validate_password.h │ │ │ ├── psi │ │ │ │ ├── mysql_file.h │ │ │ │ ├── mysql_idle.h │ │ │ │ ├── mysql_mdl.h │ │ │ │ ├── mysql_memory.h │ │ │ │ ├── mysql_ps.h │ │ │ │ ├── mysql_socket.h │ │ │ │ ├── mysql_sp.h │ │ │ │ ├── mysql_stage.h │ │ │ │ ├── mysql_statement.h │ │ │ │ ├── mysql_table.h │ │ │ │ ├── mysql_thread.h │ │ │ │ ├── mysql_transaction.h │ │ │ │ ├── psi.h │ │ │ │ ├── psi_base.h │ │ │ │ └── psi_memory.h │ │ │ ├── service_command.h │ │ │ ├── service_locking.h │ │ │ ├── service_my_plugin_log.h │ │ │ ├── service_my_snprintf.h │ │ │ ├── service_mysql_alloc.h │ │ │ ├── service_mysql_keyring.h │ │ │ ├── service_mysql_password_policy.h │ │ │ ├── service_mysql_string.h │ │ │ ├── service_parser.h │ │ │ ├── service_rpl_transaction_ctx.h │ │ │ ├── service_rpl_transaction_write_set.h │ │ │ ├── service_rules_table.h │ │ │ ├── service_security_context.h │ │ │ ├── service_srv_session.h │ │ │ ├── service_srv_session_info.h │ │ │ ├── service_ssl_wrapper.h │ │ │ ├── service_thd_alloc.h │ │ │ ├── service_thd_engine_lock.h │ │ │ ├── service_thd_wait.h │ │ │ ├── service_thread_scheduler.h │ │ │ ├── services.h │ │ │ ├── services.h.pp │ │ │ ├── thread_pool_priv.h │ │ │ └── thread_type.h │ │ ├── mysql_com.h │ │ ├── mysql_com_server.h │ │ ├── mysql_embed.h │ │ ├── mysql_time.h │ │ ├── mysql_version.h │ │ ├── mysqld_ername.h │ │ ├── mysqld_error.h │ │ ├── plugin.h │ │ ├── plugin_audit.h │ │ ├── plugin_ftparser.h │ │ ├── plugin_group_replication.h │ │ ├── plugin_keyring.h │ │ ├── plugin_validate_password.h │ │ ├── sql_common.h │ │ ├── sql_state.h │ │ ├── sslopt-case.h │ │ ├── sslopt-longopts.h │ │ ├── sslopt-vars.h │ │ ├── thr_cond.h │ │ ├── thr_mutex.h │ │ ├── thr_rwlock.h │ │ └── typelib.h │ └── lib │ │ ├── libmysql.dll │ │ └── libmysql.lib ├── socket服务端.cpp ├── socket服务端.vcxproj ├── socket服务端.vcxproj.filters ├── socket服务端.vcxproj.user ├── stdafx.cpp ├── stdafx.h ├── targetver.h └── x64 │ ├── Debug │ ├── MyList.obj │ ├── MyMutex.obj │ ├── MyQueue.obj │ ├── MyStack.obj │ ├── MyThread.obj │ ├── MyThreadPool.obj │ ├── RecAPP.obj │ ├── SaveQueue.obj │ ├── SocketAPP.obj │ ├── SocketTCP.obj │ ├── Task.obj │ ├── TestTask.obj │ ├── json_reader.obj │ ├── json_value.obj │ ├── json_writer.obj │ ├── mSQLSave.obj │ ├── socket服务端.exe.intermediate.manifest │ ├── socket服务端.lastbuildstate │ ├── socket服务端.log │ ├── socket服务端.obj │ ├── socket服务端.pch │ ├── socket服务端.tlog │ │ ├── CL.command.1.tlog │ │ ├── CL.read.1.tlog │ │ ├── CL.write.1.tlog │ │ ├── link.command.1.tlog │ │ ├── link.read.1.tlog │ │ ├── link.write.1.tlog │ │ ├── mt.command.1.tlog │ │ ├── mt.read.1.tlog │ │ ├── mt.write.1.tlog │ │ └── socket服务端.lastbuildstate │ ├── stdafx.obj │ ├── vc141.idb │ └── vc141.pdb │ └── Release │ ├── MyList.obj │ ├── MyMutex.obj │ ├── MyQueue.obj │ ├── MyStack.obj │ ├── MyThread.obj │ ├── MyThreadPool.obj │ ├── RecAPP.obj │ ├── SaveQueue.obj │ ├── SocketAPP.obj │ ├── SocketTCP.obj │ ├── Task.obj │ ├── TestTask.obj │ ├── json_reader.obj │ ├── json_value.obj │ ├── json_writer.obj │ ├── mSQLSave.obj │ ├── socket服务端.lastbuildstate │ ├── socket服务端.log │ ├── socket服务端.obj │ ├── socket服务端.pch │ ├── socket服务端.tlog │ ├── CL.command.1.tlog │ ├── CL.read.1.tlog │ ├── CL.write.1.tlog │ ├── link.command.1.tlog │ ├── link.read.1.tlog │ ├── link.write.1.tlog │ └── socket服务端.lastbuildstate │ ├── stdafx.obj │ ├── vc141.idb │ └── vc141.pdb └── x64 ├── Debug ├── libmysql.dll ├── msvcp100.dll ├── msvcp100d.dll ├── msvcr100.dll ├── msvcr100d.dll ├── socket服务端.exe └── 注意不要用WIN7兼容模式运行,内存会增长.txt └── Release ├── libmysql.dll ├── msvcp100.dll ├── msvcr100.dll ├── socket服务端.exe └── 注意不要用WIN7兼容模式运行,内存会增长.txt /Debug/libmysql.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/Debug/libmysql.dll -------------------------------------------------------------------------------- /Debug/msvcp100.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/Debug/msvcp100.dll -------------------------------------------------------------------------------- /Debug/msvcp100d.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/Debug/msvcp100d.dll -------------------------------------------------------------------------------- /Debug/msvcr100.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/Debug/msvcr100.dll -------------------------------------------------------------------------------- /Debug/msvcr100d.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/Debug/msvcr100d.dll -------------------------------------------------------------------------------- /Debug/socket服务端.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/Debug/socket服务端.exe -------------------------------------------------------------------------------- /Release/libmysql.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/Release/libmysql.dll -------------------------------------------------------------------------------- /Release/msvcp100.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/Release/msvcp100.dll -------------------------------------------------------------------------------- /Release/msvcr100.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/Release/msvcr100.dll -------------------------------------------------------------------------------- /Release/socket服务端.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/Release/socket服务端.exe -------------------------------------------------------------------------------- /socket服务端.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 15 4 | VisualStudioVersion = 15.0.27428.2005 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "socket服务端", "socket服务端\socket服务端.vcxproj", "{071D3D1B-B9D1-467D-A3B0-34ECF8519DF7}" 7 | EndProject 8 | Global 9 | GlobalSection(Performance) = preSolution 10 | HasPerformanceSessions = true 11 | EndGlobalSection 12 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 13 | Debug|Win32 = Debug|Win32 14 | Debug|x64 = Debug|x64 15 | Release|Win32 = Release|Win32 16 | Release|x64 = Release|x64 17 | EndGlobalSection 18 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 19 | {071D3D1B-B9D1-467D-A3B0-34ECF8519DF7}.Debug|Win32.ActiveCfg = Debug|Win32 20 | {071D3D1B-B9D1-467D-A3B0-34ECF8519DF7}.Debug|Win32.Build.0 = Debug|Win32 21 | {071D3D1B-B9D1-467D-A3B0-34ECF8519DF7}.Debug|x64.ActiveCfg = Debug|x64 22 | {071D3D1B-B9D1-467D-A3B0-34ECF8519DF7}.Debug|x64.Build.0 = Debug|x64 23 | {071D3D1B-B9D1-467D-A3B0-34ECF8519DF7}.Release|Win32.ActiveCfg = Release|Win32 24 | {071D3D1B-B9D1-467D-A3B0-34ECF8519DF7}.Release|Win32.Build.0 = Release|Win32 25 | {071D3D1B-B9D1-467D-A3B0-34ECF8519DF7}.Release|x64.ActiveCfg = Release|x64 26 | {071D3D1B-B9D1-467D-A3B0-34ECF8519DF7}.Release|x64.Build.0 = Release|x64 27 | EndGlobalSection 28 | GlobalSection(SolutionProperties) = preSolution 29 | HideSolutionNode = FALSE 30 | EndGlobalSection 31 | GlobalSection(ExtensibilityGlobals) = postSolution 32 | SolutionGuid = {B4108329-87A3-4790-A21C-27EFE93CAC63} 33 | EndGlobalSection 34 | EndGlobal 35 | -------------------------------------------------------------------------------- /socket服务端.suo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端.suo -------------------------------------------------------------------------------- /socket服务端/Debug/MyList.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/Debug/MyList.obj -------------------------------------------------------------------------------- /socket服务端/Debug/MyMutex.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/Debug/MyMutex.obj -------------------------------------------------------------------------------- /socket服务端/Debug/MyQueue.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/Debug/MyQueue.obj -------------------------------------------------------------------------------- /socket服务端/Debug/MyStack.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/Debug/MyStack.obj -------------------------------------------------------------------------------- /socket服务端/Debug/MyThread.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/Debug/MyThread.obj -------------------------------------------------------------------------------- /socket服务端/Debug/MyThreadPool.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/Debug/MyThreadPool.obj -------------------------------------------------------------------------------- /socket服务端/Debug/RecAPP.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/Debug/RecAPP.obj -------------------------------------------------------------------------------- /socket服务端/Debug/SaveQueue.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/Debug/SaveQueue.obj -------------------------------------------------------------------------------- /socket服务端/Debug/SocketAPP.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/Debug/SocketAPP.obj -------------------------------------------------------------------------------- /socket服务端/Debug/SocketTCP.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/Debug/SocketTCP.obj -------------------------------------------------------------------------------- /socket服务端/Debug/Task.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/Debug/Task.obj -------------------------------------------------------------------------------- /socket服务端/Debug/TestTask.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/Debug/TestTask.obj -------------------------------------------------------------------------------- /socket服务端/Debug/json_reader.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/Debug/json_reader.obj -------------------------------------------------------------------------------- /socket服务端/Debug/json_value.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/Debug/json_value.obj -------------------------------------------------------------------------------- /socket服务端/Debug/json_writer.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/Debug/json_writer.obj -------------------------------------------------------------------------------- /socket服务端/Debug/mSQLSave.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/Debug/mSQLSave.obj -------------------------------------------------------------------------------- /socket服务端/Debug/socket服务端.lastbuildstate: -------------------------------------------------------------------------------- 1 | #v4.0:v100 2 | Debug|Win32|D:\C++项目\APPsocket服务端\| 3 | -------------------------------------------------------------------------------- /socket服务端/Debug/socket服务端.log: -------------------------------------------------------------------------------- 1 |  stdafx.cpp 2 | TestTask.cpp 3 | Task.cpp 4 | socket服务端.cpp 5 | SocketTCP.cpp 6 | SocketAPP.cpp 7 | SaveQueue.cpp 8 | RecAPP.cpp 9 | MyThreadPool.cpp 10 | MyThread.cpp 11 | MyStack.cpp 12 | MyQueue.cpp 13 | MyMutex.cpp 14 | MyList.cpp 15 | mSQLSave.cpp 16 | json_writer.cpp 17 | json_value.cpp 18 | json_reader.cpp 19 | 正在生成代码... 20 | LINK : warning LNK4075: 忽略“/INCREMENTAL”(由于“/PROFILE”规范) 21 | json_reader.obj : warning LNK4075: 忽略“/EDITANDCONTINUE”(由于“/OPT:LBR”规范) 22 | socket服务端.vcxproj -> C:\Users\Administrator\Desktop\APPsocket服务端\Debug\socket服务端.exe 23 | socket服务端.vcxproj -> C:\Users\Administrator\Desktop\APPsocket服务端\Debug\socket服务端.pdb (Full PDB) 24 | -------------------------------------------------------------------------------- /socket服务端/Debug/socket服务端.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/Debug/socket服务端.obj -------------------------------------------------------------------------------- /socket服务端/Debug/socket服务端.pch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/Debug/socket服务端.pch -------------------------------------------------------------------------------- /socket服务端/Debug/socket服务端.tlog/CL.command.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/Debug/socket服务端.tlog/CL.command.1.tlog -------------------------------------------------------------------------------- /socket服务端/Debug/socket服务端.tlog/CL.read.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/Debug/socket服务端.tlog/CL.read.1.tlog -------------------------------------------------------------------------------- /socket服务端/Debug/socket服务端.tlog/CL.write.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/Debug/socket服务端.tlog/CL.write.1.tlog -------------------------------------------------------------------------------- /socket服务端/Debug/socket服务端.tlog/link.command.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/Debug/socket服务端.tlog/link.command.1.tlog -------------------------------------------------------------------------------- /socket服务端/Debug/socket服务端.tlog/link.read.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/Debug/socket服务端.tlog/link.read.1.tlog -------------------------------------------------------------------------------- /socket服务端/Debug/socket服务端.tlog/link.write.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/Debug/socket服务端.tlog/link.write.1.tlog -------------------------------------------------------------------------------- /socket服务端/Debug/socket服务端.tlog/socket服务端.lastbuildstate: -------------------------------------------------------------------------------- 1 | #TargetFrameworkVersion=v4.0:PlatformToolSet=v140_xp:EnableManagedIncrementalBuild=false:VCToolArchitecture=Native32Bit:WindowsTargetPlatformVersion=7.0 2 | Debug|Win32|C:\Users\Administrator\Desktop\APPsocket服务端\| 3 | -------------------------------------------------------------------------------- /socket服务端/Debug/stdafx.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/Debug/stdafx.obj -------------------------------------------------------------------------------- /socket服务端/Debug/vc140.idb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/Debug/vc140.idb -------------------------------------------------------------------------------- /socket服务端/Debug/vc140.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/Debug/vc140.pdb -------------------------------------------------------------------------------- /socket服务端/MyList.cpp: -------------------------------------------------------------------------------- 1 | #include "MyList.h" 2 | #include 3 | #include"MyThread.h" 4 | CMyList::CMyList(void) 5 | { 6 | } 7 | 8 | 9 | CMyList::~CMyList(void) 10 | { 11 | } 12 | 13 | bool CMyList::addThread( CMyThread*t ) 14 | { 15 | assert(t); 16 | if(!t) 17 | return false; 18 | m_mutex.Lock(); 19 | m_list.push_back(t); 20 | m_mutex.Unlock(); 21 | return true; 22 | } 23 | 24 | bool CMyList::removeThread( CMyThread*t ) 25 | { 26 | // std::list::iterator iter=m_list.begin(); 27 | // for(iter;iter!=m_list.end();iter++) 28 | // { 29 | // if(*iter==t) 30 | // { 31 | // break; 32 | // } 33 | // } 34 | assert(t); 35 | if(!t) 36 | return false; 37 | m_mutex.Lock(); 38 | m_list.remove(t); 39 | m_mutex.Unlock(); 40 | return true; 41 | } 42 | 43 | int CMyList::getSize() 44 | { 45 | m_mutex.Lock(); 46 | int size= m_list.size(); 47 | m_mutex.Unlock(); 48 | return size; 49 | } 50 | 51 | bool CMyList::isEmpty() 52 | { 53 | m_mutex.Lock(); 54 | bool ret= m_list.empty(); 55 | m_mutex.Unlock(); 56 | return ret; 57 | } 58 | 59 | bool CMyList::clear() 60 | { 61 | m_mutex.Lock(); 62 | std::list::iterator iter=m_list.begin(); 63 | for(;iter!=m_list.end();iter++) 64 | { 65 | delete (*iter); 66 | } 67 | m_list.clear(); 68 | m_mutex.Unlock(); 69 | return true; 70 | } 71 | -------------------------------------------------------------------------------- /socket服务端/MyList.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | #include "MyMutex.h" 4 | class CMyThread; 5 | class CMyList 6 | { 7 | public: 8 | CMyList(void); 9 | ~CMyList(void); 10 | public: 11 | bool addThread(CMyThread*t); 12 | bool removeThread(CMyThread*t); 13 | int getSize(); 14 | bool isEmpty(); 15 | bool clear(); 16 | 17 | private: 18 | std::listm_list; 19 | CMyMutex m_mutex; 20 | }; 21 | 22 | -------------------------------------------------------------------------------- /socket服务端/MyMutex.cpp: -------------------------------------------------------------------------------- 1 | #include "MyMutex.h" 2 | 3 | 4 | CMyMutex::CMyMutex(void) 5 | { 6 | InitializeCriticalSection(&m_cs); 7 | } 8 | 9 | 10 | CMyMutex::~CMyMutex(void) 11 | { 12 | } 13 | 14 | bool CMyMutex::Lock() 15 | { 16 | EnterCriticalSection(&m_cs); 17 | return true; 18 | } 19 | 20 | bool CMyMutex::Unlock() 21 | { 22 | LeaveCriticalSection(&m_cs); 23 | return true; 24 | } 25 | -------------------------------------------------------------------------------- /socket服务端/MyMutex.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "windows.h" 4 | class CMyMutex 5 | { 6 | public: 7 | CMyMutex(void); 8 | ~CMyMutex(void); 9 | public: 10 | bool Lock(); 11 | bool Unlock(); 12 | private: 13 | CRITICAL_SECTION m_cs; 14 | 15 | }; 16 | 17 | -------------------------------------------------------------------------------- /socket服务端/MyQueue.cpp: -------------------------------------------------------------------------------- 1 | #include "MyQueue.h" 2 | #include"task.h" 3 | 4 | CMyQueue::CMyQueue(void) 5 | { 6 | } 7 | 8 | 9 | CMyQueue::~CMyQueue(void) 10 | { 11 | } 12 | 13 | CTask* CMyQueue::pop() 14 | { 15 | CTask*p=NULL; 16 | m_mutex.Lock(); 17 | if(!m_TaskQueue.empty()) 18 | { 19 | p=m_TaskQueue.front(); 20 | m_TaskQueue.pop_front(); 21 | } 22 | m_mutex.Unlock(); 23 | return p; 24 | } 25 | 26 | bool CMyQueue::push(CTask*t) 27 | { 28 | if(!t) 29 | { 30 | return false; 31 | } 32 | m_mutex.Lock(); 33 | m_TaskQueue.push_back(t); 34 | m_mutex.Unlock(); 35 | return true; 36 | } 37 | 38 | bool CMyQueue::isEmpty() 39 | { 40 | bool ret=false; 41 | m_mutex.Lock(); 42 | ret=m_TaskQueue.empty(); 43 | m_mutex.Unlock(); 44 | return ret; 45 | } 46 | 47 | bool CMyQueue::pushFront( CTask*t ) 48 | { 49 | if(!t) 50 | { 51 | return false; 52 | } 53 | m_mutex.Lock(); 54 | m_TaskQueue.push_front(t); 55 | m_mutex.Unlock(); 56 | return true; 57 | } 58 | 59 | bool CMyQueue::clear() 60 | { 61 | m_mutex.Lock(); 62 | // std::deque::iterator iter=m_TaskQueue.begin(); 63 | // for(;iter!=m_TaskQueue.end();iter++) 64 | // { 65 | // delete (*iter); 66 | // } 67 | m_TaskQueue.clear(); 68 | m_mutex.Unlock(); 69 | return true; 70 | } 71 | -------------------------------------------------------------------------------- /socket服务端/MyQueue.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/MyQueue.h -------------------------------------------------------------------------------- /socket服务端/MyStack.cpp: -------------------------------------------------------------------------------- 1 | #include "MyStack.h" 2 | #include 3 | #include"MyThread.h" 4 | CMyStack::CMyStack(void) 5 | { 6 | } 7 | CMyStack::~CMyStack(void) 8 | { 9 | } 10 | CMyThread* CMyStack::pop() 11 | { 12 | m_mutext.Lock(); 13 | if(!m_stack.empty()) 14 | { 15 | CMyThread *t=m_stack.top(); 16 | m_stack.pop(); 17 | m_mutext.Unlock(); 18 | return t; 19 | } 20 | m_mutext.Unlock(); 21 | return NULL; 22 | } 23 | bool CMyStack::push( CMyThread* t) 24 | { 25 | assert(t); 26 | if(!t) 27 | return false; 28 | m_mutext.Lock(); 29 | m_stack.push(t); 30 | m_mutext.Unlock(); 31 | return true; 32 | } 33 | int CMyStack::getSize() 34 | { 35 | m_mutext.Lock(); 36 | int size= m_stack.size(); 37 | m_mutext.Unlock(); 38 | return size; 39 | } 40 | bool CMyStack::isEmpty() 41 | { 42 | m_mutext.Lock(); 43 | bool ret= m_stack.empty(); 44 | m_mutext.Unlock(); 45 | return ret; 46 | } 47 | bool CMyStack::clear() 48 | { 49 | m_mutext.Lock(); 50 | CMyThread*pThread=NULL; 51 | while(!m_stack.empty()) 52 | { 53 | pThread=m_stack.top(); 54 | m_stack.pop(); 55 | pThread->resumeThread(); 56 | pThread->m_bIsExit=true; 57 | delete pThread; 58 | } 59 | m_mutext.Unlock(); 60 | return true; 61 | } 62 | -------------------------------------------------------------------------------- /socket服务端/MyStack.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | #include "MyMutex.h" 4 | 5 | class CMyThread ; 6 | class CMyStack 7 | { 8 | public: 9 | CMyStack(void); 10 | ~CMyStack(void); 11 | public: 12 | CMyThread* pop(); 13 | bool push(CMyThread*); 14 | int getSize(); 15 | bool isEmpty(); 16 | bool clear(); 17 | private: 18 | std::stack m_stack; 19 | CMyMutex m_mutext; 20 | }; 21 | 22 | -------------------------------------------------------------------------------- /socket服务端/MyThread.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/MyThread.cpp -------------------------------------------------------------------------------- /socket服务端/MyThread.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/MyThread.h -------------------------------------------------------------------------------- /socket服务端/MyThreadPool.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/MyThreadPool.cpp -------------------------------------------------------------------------------- /socket服务端/MyThreadPool.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/MyThreadPool.h -------------------------------------------------------------------------------- /socket服务端/ReadMe.txt: -------------------------------------------------------------------------------- 1 | ======================================================================== 2 | 控制台应用程序:socket服务端 项目概述 3 | ======================================================================== 4 | 5 | 应用程序向导已为您创建了此 socket服务端 应用程序。 6 | 7 | 本文件概要介绍组成 socket服务端 应用程序的每个文件的内容。 8 | 9 | 10 | socket服务端.vcxproj 11 | 这是使用应用程序向导生成的 VC++ 项目的主项目文件, 12 | 其中包含生成该文件的 Visual C++ 13 | 的版本信息,以及有关使用应用程序向导选择的平台、配置和项目功能的信息。 14 | 15 | socket服务端.vcxproj.filters 16 | 这是使用“应用程序向导”生成的 VC++ 项目筛选器文件。 17 | 它包含有关项目文件与筛选器之间的关联信息。 在 IDE 18 | 中,通过这种关联,在特定节点下以分组形式显示具有相似扩展名的文件。 19 | 例如,“.cpp”文件与“源文件”筛选器关联。 20 | 21 | socket服务端.cpp 22 | 这是主应用程序源文件。 23 | 24 | ///////////////////////////////////////////////////////////////////////////// 25 | 其他标准文件: 26 | 27 | StdAfx.h,StdAfx.cpp 28 | 这些文件用于生成名为 socket服务端.pch 的预编译头 (PCH) 文件和 29 | 名为 StdAfx.obj 的预编译类型文件。 30 | 31 | ///////////////////////////////////////////////////////////////////////////// 32 | 其他注释: 33 | 34 | 应用程序向导使用“TODO:”注释来指示应添加或自定义的源代码部分。 35 | 36 | ///////////////////////////////////////////////////////////////////////////// 37 | -------------------------------------------------------------------------------- /socket服务端/RecAPP.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/RecAPP.cpp -------------------------------------------------------------------------------- /socket服务端/Release/MyList.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/Release/MyList.obj -------------------------------------------------------------------------------- /socket服务端/Release/MyMutex.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/Release/MyMutex.obj -------------------------------------------------------------------------------- /socket服务端/Release/MyQueue.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/Release/MyQueue.obj -------------------------------------------------------------------------------- /socket服务端/Release/MyStack.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/Release/MyStack.obj -------------------------------------------------------------------------------- /socket服务端/Release/MyThread.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/Release/MyThread.obj -------------------------------------------------------------------------------- /socket服务端/Release/MyThreadPool.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/Release/MyThreadPool.obj -------------------------------------------------------------------------------- /socket服务端/Release/RecAPP.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/Release/RecAPP.obj -------------------------------------------------------------------------------- /socket服务端/Release/SaveQueue.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/Release/SaveQueue.obj -------------------------------------------------------------------------------- /socket服务端/Release/SocketAPP.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/Release/SocketAPP.obj -------------------------------------------------------------------------------- /socket服务端/Release/SocketTCP.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/Release/SocketTCP.obj -------------------------------------------------------------------------------- /socket服务端/Release/Task.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/Release/Task.obj -------------------------------------------------------------------------------- /socket服务端/Release/TestTask.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/Release/TestTask.obj -------------------------------------------------------------------------------- /socket服务端/Release/json_reader.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/Release/json_reader.obj -------------------------------------------------------------------------------- /socket服务端/Release/json_value.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/Release/json_value.obj -------------------------------------------------------------------------------- /socket服务端/Release/json_writer.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/Release/json_writer.obj -------------------------------------------------------------------------------- /socket服务端/Release/mSQLSave.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/Release/mSQLSave.obj -------------------------------------------------------------------------------- /socket服务端/Release/socket服务端.lastbuildstate: -------------------------------------------------------------------------------- 1 | #v4.0:v100 2 | Release|Win32|D:\C++项目\APPsocket服务端\| 3 | -------------------------------------------------------------------------------- /socket服务端/Release/socket服务端.log: -------------------------------------------------------------------------------- 1 |  stdafx.cpp 2 | json_reader.cpp 3 | json_value.cpp 4 | json_writer.cpp 5 | mSQLSave.cpp 6 | MyList.cpp 7 | MyMutex.cpp 8 | MyQueue.cpp 9 | MyStack.cpp 10 | MyThread.cpp 11 | MyThreadPool.cpp 12 | RecAPP.cpp 13 | SaveQueue.cpp 14 | SocketAPP.cpp 15 | SocketTCP.cpp 16 | socket服务端.cpp 17 | Task.cpp 18 | TestTask.cpp 19 | 正在生成代码 20 | All 1809 functions were compiled because no usable IPDB/IOBJ from previous compilation was found. 21 | 已完成代码的生成 22 | socket服务端.vcxproj -> C:\Users\Administrator\Desktop\APPsocket服务端\Release\socket服务端.exe 23 | -------------------------------------------------------------------------------- /socket服务端/Release/socket服务端.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/Release/socket服务端.obj -------------------------------------------------------------------------------- /socket服务端/Release/socket服务端.pch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/Release/socket服务端.pch -------------------------------------------------------------------------------- /socket服务端/Release/socket服务端.tlog/CL.command.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/Release/socket服务端.tlog/CL.command.1.tlog -------------------------------------------------------------------------------- /socket服务端/Release/socket服务端.tlog/CL.read.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/Release/socket服务端.tlog/CL.read.1.tlog -------------------------------------------------------------------------------- /socket服务端/Release/socket服务端.tlog/CL.write.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/Release/socket服务端.tlog/CL.write.1.tlog -------------------------------------------------------------------------------- /socket服务端/Release/socket服务端.tlog/link.command.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/Release/socket服务端.tlog/link.command.1.tlog -------------------------------------------------------------------------------- /socket服务端/Release/socket服务端.tlog/link.read.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/Release/socket服务端.tlog/link.read.1.tlog -------------------------------------------------------------------------------- /socket服务端/Release/socket服务端.tlog/link.write.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/Release/socket服务端.tlog/link.write.1.tlog -------------------------------------------------------------------------------- /socket服务端/Release/socket服务端.tlog/socket服务端.lastbuildstate: -------------------------------------------------------------------------------- 1 | #TargetFrameworkVersion=v4.0:PlatformToolSet=v141_xp:EnableManagedIncrementalBuild=false:VCToolArchitecture=Native32Bit:WindowsTargetPlatformVersion=7.0 2 | Release|Win32|C:\Users\Administrator\Desktop\APPsocket服务端\| 3 | -------------------------------------------------------------------------------- /socket服务端/Release/socket服务端.tlog/socket服务端.write.1u.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/Release/socket服务端.tlog/socket服务端.write.1u.tlog -------------------------------------------------------------------------------- /socket服务端/Release/stdafx.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/Release/stdafx.obj -------------------------------------------------------------------------------- /socket服务端/Release/vc141.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/Release/vc141.pdb -------------------------------------------------------------------------------- /socket服务端/SaveQueue.cpp: -------------------------------------------------------------------------------- 1 | 2 | #include "SaveQueue.h" 3 | 4 | CMySaveQueue::CMySaveQueue(void) 5 | { 6 | } 7 | 8 | 9 | CMySaveQueue::~CMySaveQueue(void) 10 | { 11 | } 12 | 13 | HardData* CMySaveQueue::pop() 14 | { 15 | HardData *p = NULL; 16 | m_data_mutex.Lock(); 17 | if(!m_DataQueue.empty()) 18 | { 19 | p=m_DataQueue.front(); 20 | m_DataQueue.pop_front(); 21 | } 22 | m_data_mutex.Unlock(); 23 | return p; 24 | } 25 | 26 | bool CMySaveQueue::push(HardData *t) 27 | { 28 | if(!t) 29 | { 30 | return false; 31 | } 32 | m_data_mutex.Lock(); 33 | m_DataQueue.push_back(t); 34 | m_data_mutex.Unlock(); 35 | return true; 36 | } 37 | 38 | bool CMySaveQueue::isEmpty() 39 | { 40 | bool ret=false; 41 | m_data_mutex.Lock(); 42 | ret=m_DataQueue.empty(); 43 | m_data_mutex.Unlock(); 44 | return ret; 45 | } 46 | 47 | bool CMySaveQueue::pushFront( HardData *t ) 48 | { 49 | if(!t) 50 | { 51 | return false; 52 | } 53 | m_data_mutex.Lock(); 54 | m_DataQueue.push_front(t); 55 | m_data_mutex.Unlock(); 56 | return true; 57 | } 58 | 59 | bool CMySaveQueue::clear() 60 | { 61 | m_data_mutex.Lock(); 62 | m_DataQueue.clear(); 63 | m_data_mutex.Unlock(); 64 | return true; 65 | } 66 | 67 | -------------------------------------------------------------------------------- /socket服务端/SaveQueue.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/SaveQueue.h -------------------------------------------------------------------------------- /socket服务端/SocketAPP.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/SocketAPP.cpp -------------------------------------------------------------------------------- /socket服务端/SocketAPP.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/SocketAPP.h -------------------------------------------------------------------------------- /socket服务端/SocketTCP.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/SocketTCP.cpp -------------------------------------------------------------------------------- /socket服务端/SocketTCP.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/SocketTCP.h -------------------------------------------------------------------------------- /socket服务端/Task.cpp: -------------------------------------------------------------------------------- 1 | #include "Task.h" 2 | #include "windows.h" 3 | //#include "SaveQueue.h" 4 | 5 | CTask::CTask(int id) 6 | { 7 | m_ID=id; 8 | 9 | } 10 | CTask::~CTask(void) 11 | { 12 | } 13 | 14 | int CTask::getID() 15 | { 16 | return m_ID; 17 | } 18 | -------------------------------------------------------------------------------- /socket服务端/Task.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | class CTask 5 | { 6 | public: 7 | CTask(int id); 8 | ~CTask(void); 9 | public: 10 | virtual void taskRecClientProc()=0; 11 | virtual void taskSaveSQL()=0; 12 | virtual void taskAPPRecProc()=0; 13 | int getID(); 14 | private: 15 | int m_ID; 16 | }; 17 | 18 | 19 | -------------------------------------------------------------------------------- /socket服务端/TestTask.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/TestTask.cpp -------------------------------------------------------------------------------- /socket服务端/TestTask.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | #include "task.h" 4 | 5 | 6 | class CTestTask : public CTask 7 | { 8 | public: 9 | CTestTask(int id); 10 | ~CTestTask(void); 11 | public: 12 | virtual void taskRecClientProc(); 13 | virtual void taskSaveSQL(); 14 | virtual void taskAPPRecProc(); 15 | 16 | }; 17 | 18 | -------------------------------------------------------------------------------- /socket服务端/json/AUTHORS: -------------------------------------------------------------------------------- 1 | Baptiste Lepilleur 2 | -------------------------------------------------------------------------------- /socket服务端/json/LICENSE: -------------------------------------------------------------------------------- 1 | The json-cpp library and this documentation are in Public Domain. 2 | -------------------------------------------------------------------------------- /socket服务端/json/devtools/__init__.py: -------------------------------------------------------------------------------- 1 | # module 2 | -------------------------------------------------------------------------------- /socket服务端/json/devtools/fixeol.py: -------------------------------------------------------------------------------- 1 | import os.path 2 | 3 | def fix_source_eol( path, is_dry_run = True, verbose = True, eol = '\n' ): 4 | """Makes sure that all sources have the specified eol sequence (default: unix).""" 5 | if not os.path.isfile( path ): 6 | raise ValueError( 'Path "%s" is not a file' % path ) 7 | try: 8 | f = open(path, 'rb') 9 | except IOError, msg: 10 | print >> sys.stderr, "%s: I/O Error: %s" % (file, str(msg)) 11 | return False 12 | try: 13 | raw_lines = f.readlines() 14 | finally: 15 | f.close() 16 | fixed_lines = [line.rstrip('\r\n') + eol for line in raw_lines] 17 | if raw_lines != fixed_lines: 18 | print '%s =>' % path, 19 | if not is_dry_run: 20 | f = open(path, "wb") 21 | try: 22 | f.writelines(fixed_lines) 23 | finally: 24 | f.close() 25 | if verbose: 26 | print is_dry_run and ' NEED FIX' or ' FIXED' 27 | return True 28 | ## 29 | ## 30 | ## 31 | ##def _do_fix( is_dry_run = True ): 32 | ## from waftools import antglob 33 | ## python_sources = antglob.glob( '.', 34 | ## includes = '**/*.py **/wscript **/wscript_build', 35 | ## excludes = antglob.default_excludes + './waf.py', 36 | ## prune_dirs = antglob.prune_dirs + 'waf-* ./build' ) 37 | ## for path in python_sources: 38 | ## _fix_python_source( path, is_dry_run ) 39 | ## 40 | ## cpp_sources = antglob.glob( '.', 41 | ## includes = '**/*.cpp **/*.h **/*.inl', 42 | ## prune_dirs = antglob.prune_dirs + 'waf-* ./build' ) 43 | ## for path in cpp_sources: 44 | ## _fix_source_eol( path, is_dry_run ) 45 | ## 46 | ## 47 | ##def dry_fix(context): 48 | ## _do_fix( is_dry_run = True ) 49 | ## 50 | ##def fix(context): 51 | ## _do_fix( is_dry_run = False ) 52 | ## 53 | ##def shutdown(): 54 | ## pass 55 | ## 56 | ##def check(context): 57 | ## # Unit tests are run when "check" target is used 58 | ## ut = UnitTest.unit_test() 59 | ## ut.change_to_testfile_dir = True 60 | ## ut.want_to_see_test_output = True 61 | ## ut.want_to_see_test_error = True 62 | ## ut.run() 63 | ## ut.print_results() 64 | -------------------------------------------------------------------------------- /socket服务端/json/devtools/tarball.py: -------------------------------------------------------------------------------- 1 | import os.path 2 | import gzip 3 | import tarfile 4 | 5 | TARGZ_DEFAULT_COMPRESSION_LEVEL = 9 6 | 7 | def make_tarball(tarball_path, sources, base_dir, prefix_dir=''): 8 | """Parameters: 9 | tarball_path: output path of the .tar.gz file 10 | sources: list of sources to include in the tarball, relative to the current directory 11 | base_dir: if a source file is in a sub-directory of base_dir, then base_dir is stripped 12 | from path in the tarball. 13 | prefix_dir: all files stored in the tarball be sub-directory of prefix_dir. Set to '' 14 | to make them child of root. 15 | """ 16 | base_dir = os.path.normpath( os.path.abspath( base_dir ) ) 17 | def archive_name( path ): 18 | """Makes path relative to base_dir.""" 19 | path = os.path.normpath( os.path.abspath( path ) ) 20 | common_path = os.path.commonprefix( (base_dir, path) ) 21 | archive_name = path[len(common_path):] 22 | if os.path.isabs( archive_name ): 23 | archive_name = archive_name[1:] 24 | return os.path.join( prefix_dir, archive_name ) 25 | def visit(tar, dirname, names): 26 | for name in names: 27 | path = os.path.join(dirname, name) 28 | if os.path.isfile(path): 29 | path_in_tar = archive_name(path) 30 | tar.add(path, path_in_tar ) 31 | compression = TARGZ_DEFAULT_COMPRESSION_LEVEL 32 | tar = tarfile.TarFile.gzopen( tarball_path, 'w', compresslevel=compression ) 33 | try: 34 | for source in sources: 35 | source_path = source 36 | if os.path.isdir( source ): 37 | os.path.walk(source_path, visit, tar) 38 | else: 39 | path_in_tar = archive_name(source_path) 40 | tar.add(source_path, path_in_tar ) # filename, arcname 41 | finally: 42 | tar.close() 43 | 44 | def decompress( tarball_path, base_dir ): 45 | """Decompress the gzipped tarball into directory base_dir. 46 | """ 47 | # !!! This class method is not documented in the online doc 48 | # nor is bz2open! 49 | tar = tarfile.TarFile.gzopen(tarball_path, mode='r') 50 | try: 51 | tar.extractall( base_dir ) 52 | finally: 53 | tar.close() 54 | -------------------------------------------------------------------------------- /socket服务端/json/doc/footer.html: -------------------------------------------------------------------------------- 1 |
2 | 3 | 4 | 10 | 13 | 15 | 19 | 20 |
5 | 6 | SourceForge Logo 9 | 11 | hosts this site. 12 | 14 | 16 | Send comments to:
17 | Json-cpp Developers 18 |
21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /socket服务端/json/doc/header.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | JsonCpp - JSON data format manipulation library 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 18 | 21 | 22 |
14 | 15 | JsonCpp project page 16 | 17 | 19 | JsonCpp home page 20 |
23 | 24 |
25 | -------------------------------------------------------------------------------- /socket服务端/json/doc/readme.txt: -------------------------------------------------------------------------------- 1 | The documentation is generated using doxygen (http://www.doxygen.org). 2 | -------------------------------------------------------------------------------- /socket服务端/json/doc/roadmap.dox: -------------------------------------------------------------------------------- 1 | /*! \page roadmap JsonCpp roadmap 2 | \section ms_release Makes JsonCpp ready for release 3 | - Build system clean-up: 4 | - Fix build on Windows (shared-library build is broken) 5 | - Add enable/disable flag for static and shared library build 6 | - Enhance help 7 | - Platform portability check: (Notes: was ok on last check) 8 | - linux/gcc, 9 | - solaris/cc, 10 | - windows/msvc678, 11 | - aix/vacpp 12 | - Add JsonCpp version to header as numeric for use in preprocessor test 13 | - Remove buggy experimental hash stuff 14 | - Release on sourceforge download 15 | \section ms_strict Adds a strict mode to reader/parser 16 | Strict JSON support as specific in RFC 4627 (http://www.ietf.org/rfc/rfc4627.txt?number=4627). 17 | - Enforce only object or array as root element 18 | - Disable comment support 19 | - Get jsonchecker failing tests to pass in strict mode 20 | \section ms_separation Expose json reader/writer API that do not impose using Json::Value. 21 | Some typical use-case involve an application specific structure to/from a JSON document. 22 | - Event base parser to allow unserializing a Json document directly in datastructure instead of 23 | using the intermediate Json::Value. 24 | - "Stream" based parser to serialized a Json document without using Json::Value as input. 25 | - Performance oriented parser/writer: 26 | - Provides an event based parser. Should allow pulling & skipping events for ease of use. 27 | - Provides a JSON document builder: fast only. 28 | \section ms_perfo Performance tuning 29 | - Provides support for static property name definition avoiding allocation 30 | - Static property dictionnary can be provided to JSON reader 31 | - Performance scenario & benchmarking 32 | */ 33 | -------------------------------------------------------------------------------- /socket服务端/json/include/json/autolink.h: -------------------------------------------------------------------------------- 1 | #ifndef JSON_AUTOLINK_H_INCLUDED 2 | # define JSON_AUTOLINK_H_INCLUDED 3 | 4 | # include "config.h" 5 | 6 | # ifdef JSON_IN_CPPTL 7 | # include 8 | # endif 9 | 10 | # if !defined(JSON_NO_AUTOLINK) && !defined(JSON_DLL_BUILD) && !defined(JSON_IN_CPPTL) 11 | # define CPPTL_AUTOLINK_NAME "json" 12 | # undef CPPTL_AUTOLINK_DLL 13 | # ifdef JSON_DLL 14 | # define CPPTL_AUTOLINK_DLL 15 | # endif 16 | # include "autolink.h" 17 | # endif 18 | 19 | #endif // JSON_AUTOLINK_H_INCLUDED 20 | -------------------------------------------------------------------------------- /socket服务端/json/include/json/config.h: -------------------------------------------------------------------------------- 1 | #ifndef JSON_CONFIG_H_INCLUDED 2 | # define JSON_CONFIG_H_INCLUDED 3 | 4 | /// If defined, indicates that json library is embedded in CppTL library. 5 | //# define JSON_IN_CPPTL 1 6 | 7 | /// If defined, indicates that json may leverage CppTL library 8 | //# define JSON_USE_CPPTL 1 9 | /// If defined, indicates that cpptl vector based map should be used instead of std::map 10 | /// as Value container. 11 | //# define JSON_USE_CPPTL_SMALLMAP 1 12 | /// If defined, indicates that Json specific container should be used 13 | /// (hash table & simple deque container with customizable allocator). 14 | /// THIS FEATURE IS STILL EXPERIMENTAL! 15 | //# define JSON_VALUE_USE_INTERNAL_MAP 1 16 | /// Force usage of standard new/malloc based allocator instead of memory pool based allocator. 17 | /// The memory pools allocator used optimization (initializing Value and ValueInternalLink 18 | /// as if it was a POD) that may cause some validation tool to report errors. 19 | /// Only has effects if JSON_VALUE_USE_INTERNAL_MAP is defined. 20 | //# define JSON_USE_SIMPLE_INTERNAL_ALLOCATOR 1 21 | 22 | /// If defined, indicates that Json use exception to report invalid type manipulation 23 | /// instead of C assert macro. 24 | # define JSON_USE_EXCEPTION 1 25 | 26 | # ifdef JSON_IN_CPPTL 27 | # include 28 | # ifndef JSON_USE_CPPTL 29 | # define JSON_USE_CPPTL 1 30 | # endif 31 | # endif 32 | 33 | # ifdef JSON_IN_CPPTL 34 | # define JSON_API CPPTL_API 35 | # elif defined(JSON_DLL_BUILD) 36 | # define JSON_API __declspec(dllexport) 37 | # elif defined(JSON_DLL) 38 | # define JSON_API __declspec(dllimport) 39 | # else 40 | # define JSON_API 41 | # endif 42 | 43 | #endif // JSON_CONFIG_H_INCLUDED 44 | -------------------------------------------------------------------------------- /socket服务端/json/include/json/features.h: -------------------------------------------------------------------------------- 1 | #ifndef CPPTL_JSON_FEATURES_H_INCLUDED 2 | # define CPPTL_JSON_FEATURES_H_INCLUDED 3 | 4 | # include "forwards.h" 5 | 6 | namespace Json { 7 | 8 | /** \brief Configuration passed to reader and writer. 9 | * This configuration object can be used to force the Reader or Writer 10 | * to behave in a standard conforming way. 11 | */ 12 | class JSON_API Features 13 | { 14 | public: 15 | /** \brief A configuration that allows all features and assumes all strings are UTF-8. 16 | * - C & C++ comments are allowed 17 | * - Root object can be any JSON value 18 | * - Assumes Value strings are encoded in UTF-8 19 | */ 20 | static Features all(); 21 | 22 | /** \brief A configuration that is strictly compatible with the JSON specification. 23 | * - Comments are forbidden. 24 | * - Root object must be either an array or an object value. 25 | * - Assumes Value strings are encoded in UTF-8 26 | */ 27 | static Features strictMode(); 28 | 29 | /** \brief Initialize the configuration like JsonConfig::allFeatures; 30 | */ 31 | Features(); 32 | 33 | /// \c true if comments are allowed. Default: \c true. 34 | bool allowComments_; 35 | 36 | /// \c true if root must be either an array or an object value. Default: \c false. 37 | bool strictRoot_; 38 | }; 39 | 40 | } // namespace Json 41 | 42 | #endif // CPPTL_JSON_FEATURES_H_INCLUDED 43 | -------------------------------------------------------------------------------- /socket服务端/json/include/json/forwards.h: -------------------------------------------------------------------------------- 1 | #ifndef JSON_FORWARDS_H_INCLUDED 2 | # define JSON_FORWARDS_H_INCLUDED 3 | 4 | # include "config.h" 5 | 6 | namespace Json { 7 | 8 | // writer.h 9 | class FastWriter; 10 | class StyledWriter; 11 | 12 | // reader.h 13 | class Reader; 14 | 15 | // features.h 16 | class Features; 17 | 18 | // value.h 19 | typedef int Int; 20 | typedef unsigned int UInt; 21 | class StaticString; 22 | class Path; 23 | class PathArgument; 24 | class Value; 25 | class ValueIteratorBase; 26 | class ValueIterator; 27 | class ValueConstIterator; 28 | #ifdef JSON_VALUE_USE_INTERNAL_MAP 29 | class ValueAllocator; 30 | class ValueMapAllocator; 31 | class ValueInternalLink; 32 | class ValueInternalArray; 33 | class ValueInternalMap; 34 | #endif // #ifdef JSON_VALUE_USE_INTERNAL_MAP 35 | 36 | } // namespace Json 37 | 38 | 39 | #endif // JSON_FORWARDS_H_INCLUDED 40 | -------------------------------------------------------------------------------- /socket服务端/json/include/json/json.h: -------------------------------------------------------------------------------- 1 | #ifndef JSON_JSON_H_INCLUDED 2 | # define JSON_JSON_H_INCLUDED 3 | 4 | # include "autolink.h" 5 | # include "value.h" 6 | # include "reader.h" 7 | # include "writer.h" 8 | # include "features.h" 9 | 10 | #endif // JSON_JSON_H_INCLUDED 11 | -------------------------------------------------------------------------------- /socket服务端/json/makefiles/vs71/jsoncpp.sln: -------------------------------------------------------------------------------- 1 | Microsoft Visual Studio Solution File, Format Version 8.00 2 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lib_json", "lib_json.vcproj", "{B84F7231-16CE-41D8-8C08-7B523FF4225B}" 3 | ProjectSection(ProjectDependencies) = postProject 4 | EndProjectSection 5 | EndProject 6 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "jsontest", "jsontest.vcproj", "{25AF2DD2-D396-4668-B188-488C33B8E620}" 7 | ProjectSection(ProjectDependencies) = postProject 8 | {B84F7231-16CE-41D8-8C08-7B523FF4225B} = {B84F7231-16CE-41D8-8C08-7B523FF4225B} 9 | EndProjectSection 10 | EndProject 11 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_lib_json", "test_lib_json.vcproj", "{B7A96B78-2782-40D2-8F37-A2DEF2B9C26D}" 12 | ProjectSection(ProjectDependencies) = postProject 13 | {B84F7231-16CE-41D8-8C08-7B523FF4225B} = {B84F7231-16CE-41D8-8C08-7B523FF4225B} 14 | EndProjectSection 15 | EndProject 16 | Global 17 | GlobalSection(SolutionConfiguration) = preSolution 18 | Debug = Debug 19 | dummy = dummy 20 | Release = Release 21 | EndGlobalSection 22 | GlobalSection(ProjectConfiguration) = postSolution 23 | {B84F7231-16CE-41D8-8C08-7B523FF4225B}.Debug.ActiveCfg = Debug|Win32 24 | {B84F7231-16CE-41D8-8C08-7B523FF4225B}.Debug.Build.0 = Debug|Win32 25 | {B84F7231-16CE-41D8-8C08-7B523FF4225B}.dummy.ActiveCfg = dummy|Win32 26 | {B84F7231-16CE-41D8-8C08-7B523FF4225B}.dummy.Build.0 = dummy|Win32 27 | {B84F7231-16CE-41D8-8C08-7B523FF4225B}.Release.ActiveCfg = Release|Win32 28 | {B84F7231-16CE-41D8-8C08-7B523FF4225B}.Release.Build.0 = Release|Win32 29 | {25AF2DD2-D396-4668-B188-488C33B8E620}.Debug.ActiveCfg = Debug|Win32 30 | {25AF2DD2-D396-4668-B188-488C33B8E620}.Debug.Build.0 = Debug|Win32 31 | {25AF2DD2-D396-4668-B188-488C33B8E620}.dummy.ActiveCfg = Debug|Win32 32 | {25AF2DD2-D396-4668-B188-488C33B8E620}.dummy.Build.0 = Debug|Win32 33 | {25AF2DD2-D396-4668-B188-488C33B8E620}.Release.ActiveCfg = Release|Win32 34 | {25AF2DD2-D396-4668-B188-488C33B8E620}.Release.Build.0 = Release|Win32 35 | {B7A96B78-2782-40D2-8F37-A2DEF2B9C26D}.Debug.ActiveCfg = Debug|Win32 36 | {B7A96B78-2782-40D2-8F37-A2DEF2B9C26D}.Debug.Build.0 = Debug|Win32 37 | {B7A96B78-2782-40D2-8F37-A2DEF2B9C26D}.dummy.ActiveCfg = Debug|Win32 38 | {B7A96B78-2782-40D2-8F37-A2DEF2B9C26D}.dummy.Build.0 = Debug|Win32 39 | {B7A96B78-2782-40D2-8F37-A2DEF2B9C26D}.Release.ActiveCfg = Release|Win32 40 | {B7A96B78-2782-40D2-8F37-A2DEF2B9C26D}.Release.Build.0 = Release|Win32 41 | EndGlobalSection 42 | GlobalSection(ExtensibilityGlobals) = postSolution 43 | EndGlobalSection 44 | GlobalSection(ExtensibilityAddIns) = postSolution 45 | EndGlobalSection 46 | EndGlobal 47 | -------------------------------------------------------------------------------- /socket服务端/json/scons-tools/globtool.py: -------------------------------------------------------------------------------- 1 | import fnmatch 2 | import os 3 | 4 | def generate( env ): 5 | def Glob( env, includes = None, excludes = None, dir = '.' ): 6 | """Adds Glob( includes = Split( '*' ), excludes = None, dir = '.') 7 | helper function to environment. 8 | 9 | Glob both the file-system files. 10 | 11 | includes: list of file name pattern included in the return list when matched. 12 | excludes: list of file name pattern exluced from the return list. 13 | 14 | Example: 15 | sources = env.Glob( ("*.cpp", '*.h'), "~*.cpp", "#src" ) 16 | """ 17 | def filterFilename(path): 18 | abs_path = os.path.join( dir, path ) 19 | if not os.path.isfile(abs_path): 20 | return 0 21 | fn = os.path.basename(path) 22 | match = 0 23 | for include in includes: 24 | if fnmatch.fnmatchcase( fn, include ): 25 | match = 1 26 | break 27 | if match == 1 and not excludes is None: 28 | for exclude in excludes: 29 | if fnmatch.fnmatchcase( fn, exclude ): 30 | match = 0 31 | break 32 | return match 33 | if includes is None: 34 | includes = ('*',) 35 | elif type(includes) in ( type(''), type(u'') ): 36 | includes = (includes,) 37 | if type(excludes) in ( type(''), type(u'') ): 38 | excludes = (excludes,) 39 | dir = env.Dir(dir).abspath 40 | paths = os.listdir( dir ) 41 | def makeAbsFileNode( path ): 42 | return env.File( os.path.join( dir, path ) ) 43 | nodes = filter( filterFilename, paths ) 44 | return map( makeAbsFileNode, nodes ) 45 | 46 | from SCons.Script import Environment 47 | Environment.Glob = Glob 48 | 49 | def exists(env): 50 | """ 51 | Tool always exists. 52 | """ 53 | return True 54 | -------------------------------------------------------------------------------- /socket服务端/json/src/jsontestrunner/sconscript: -------------------------------------------------------------------------------- 1 | Import( 'env_testing buildJSONTests' ) 2 | 3 | buildJSONTests( env_testing, Split( """ 4 | main.cpp 5 | """ ), 6 | 'jsontestrunner' ) 7 | 8 | # For 'check' to work, 'libs' must be built first. 9 | env_testing.Depends('jsontestrunner', '#libs') 10 | -------------------------------------------------------------------------------- /socket服务端/json/src/lib_json/sconscript: -------------------------------------------------------------------------------- 1 | Import( 'env buildLibrary' ) 2 | 3 | buildLibrary( env, Split( """ 4 | json_reader.cpp 5 | json_value.cpp 6 | json_writer.cpp 7 | """ ), 8 | 'json' ) 9 | -------------------------------------------------------------------------------- /socket服务端/json/src/test_lib_json/sconscript: -------------------------------------------------------------------------------- 1 | Import( 'env_testing buildUnitTests' ) 2 | 3 | buildUnitTests( env_testing, Split( """ 4 | main.cpp 5 | jsontest.cpp 6 | """ ), 7 | 'test_lib_json' ) 8 | 9 | # For 'check' to work, 'libs' must be built first. 10 | env_testing.Depends('test_lib_json', '#libs') 11 | -------------------------------------------------------------------------------- /socket服务端/json/test/cleantests.py: -------------------------------------------------------------------------------- 1 | # removes all files created during testing 2 | import glob 3 | import os 4 | 5 | paths = [] 6 | for pattern in [ '*.actual', '*.actual-rewrite', '*.rewrite', '*.process-output' ]: 7 | paths += glob.glob( 'data/' + pattern ) 8 | 9 | for path in paths: 10 | os.unlink( path ) 11 | -------------------------------------------------------------------------------- /socket服务端/json/test/data/test_array_01.expected: -------------------------------------------------------------------------------- 1 | .=[] 2 | -------------------------------------------------------------------------------- /socket服务端/json/test/data/test_array_01.json: -------------------------------------------------------------------------------- 1 | [] 2 | -------------------------------------------------------------------------------- /socket服务端/json/test/data/test_array_02.expected: -------------------------------------------------------------------------------- 1 | .=[] 2 | .[0]=1 3 | -------------------------------------------------------------------------------- /socket服务端/json/test/data/test_array_02.json: -------------------------------------------------------------------------------- 1 | [1] 2 | -------------------------------------------------------------------------------- /socket服务端/json/test/data/test_array_03.expected: -------------------------------------------------------------------------------- 1 | .=[] 2 | .[0]=1 3 | .[1]=2 4 | .[2]=3 5 | .[3]=4 6 | .[4]=5 7 | -------------------------------------------------------------------------------- /socket服务端/json/test/data/test_array_03.json: -------------------------------------------------------------------------------- 1 | [ 1, 2 , 3,4,5] 2 | -------------------------------------------------------------------------------- /socket服务端/json/test/data/test_array_04.expected: -------------------------------------------------------------------------------- 1 | .=[] 2 | .[0]=1 3 | .[1]="abc" 4 | .[2]=12.3 5 | .[3]=-4 6 | -------------------------------------------------------------------------------- /socket服务端/json/test/data/test_array_04.json: -------------------------------------------------------------------------------- 1 | [1, "abc" , 12.3, -4] 2 | -------------------------------------------------------------------------------- /socket服务端/json/test/data/test_array_05.expected: -------------------------------------------------------------------------------- 1 | .=[] 2 | .[0]=1 3 | .[1]=2 4 | .[2]=3 5 | .[3]=4 6 | .[4]=5 7 | .[5]=6 8 | .[6]=7 9 | .[7]=8 10 | .[8]=9 11 | .[9]=10 12 | .[10]=11 13 | .[11]=12 14 | .[12]=13 15 | .[13]=14 16 | .[14]=15 17 | .[15]=16 18 | .[16]=17 19 | .[17]=18 20 | .[18]=19 21 | .[19]=20 22 | .[20]=21 23 | .[21]=22 24 | .[22]=23 25 | .[23]=24 26 | .[24]=25 27 | .[25]=26 28 | .[26]=27 29 | .[27]=28 30 | .[28]=29 31 | .[29]=30 32 | .[30]=31 33 | .[31]=32 34 | .[32]=33 35 | .[33]=34 36 | .[34]=35 37 | .[35]=36 38 | .[36]=37 39 | .[37]=38 40 | .[38]=39 41 | .[39]=40 42 | .[40]=41 43 | .[41]=42 44 | .[42]=43 45 | .[43]=44 46 | .[44]=45 47 | .[45]=46 48 | .[46]=47 49 | .[47]=48 50 | .[48]=49 51 | .[49]=50 52 | .[50]=51 53 | .[51]=52 54 | .[52]=53 55 | .[53]=54 56 | .[54]=55 57 | .[55]=56 58 | .[56]=57 59 | .[57]=58 60 | .[58]=59 61 | .[59]=60 62 | .[60]=61 63 | .[61]=62 64 | .[62]=63 65 | .[63]=64 66 | .[64]=65 67 | .[65]=66 68 | .[66]=67 69 | .[67]=68 70 | .[68]=69 71 | .[69]=70 72 | .[70]=71 73 | .[71]=72 74 | .[72]=73 75 | .[73]=74 76 | .[74]=75 77 | .[75]=76 78 | .[76]=77 79 | .[77]=78 80 | .[78]=79 81 | .[79]=80 82 | .[80]=81 83 | .[81]=82 84 | .[82]=83 85 | .[83]=84 86 | .[84]=85 87 | .[85]=86 88 | .[86]=87 89 | .[87]=88 90 | .[88]=89 91 | .[89]=90 92 | .[90]=91 93 | .[91]=92 94 | .[92]=93 95 | .[93]=94 96 | .[94]=95 97 | .[95]=96 98 | .[96]=97 99 | .[97]=98 100 | .[98]=99 101 | -------------------------------------------------------------------------------- /socket服务端/json/test/data/test_array_05.json: -------------------------------------------------------------------------------- 1 | [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, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99] -------------------------------------------------------------------------------- /socket服务端/json/test/data/test_array_06.expected: -------------------------------------------------------------------------------- 1 | .=[] 2 | .[0]="aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" 3 | .[1]="bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb" 4 | .[2]="ccccccccccccccccccccccc" 5 | .[3]="dddddddddddddddddddddddddddddddddddddddddddddddddddd" 6 | -------------------------------------------------------------------------------- /socket服务端/json/test/data/test_array_06.json: -------------------------------------------------------------------------------- 1 | [ "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", 2 | "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb", 3 | "ccccccccccccccccccccccc", 4 | "dddddddddddddddddddddddddddddddddddddddddddddddddddd" ] -------------------------------------------------------------------------------- /socket服务端/json/test/data/test_basic_01.expected: -------------------------------------------------------------------------------- 1 | .=123456789 2 | -------------------------------------------------------------------------------- /socket服务端/json/test/data/test_basic_01.json: -------------------------------------------------------------------------------- 1 | 0123456789 2 | -------------------------------------------------------------------------------- /socket服务端/json/test/data/test_basic_02.expected: -------------------------------------------------------------------------------- 1 | .=-123456789 2 | -------------------------------------------------------------------------------- /socket服务端/json/test/data/test_basic_02.json: -------------------------------------------------------------------------------- 1 | -0123456789 2 | -------------------------------------------------------------------------------- /socket服务端/json/test/data/test_basic_03.expected: -------------------------------------------------------------------------------- 1 | .=1.2345678 2 | 3 | 4 | -------------------------------------------------------------------------------- /socket服务端/json/test/data/test_basic_03.json: -------------------------------------------------------------------------------- 1 | 1.2345678 2 | 3 | 4 | -------------------------------------------------------------------------------- /socket服务端/json/test/data/test_basic_04.expected: -------------------------------------------------------------------------------- 1 | .="abcdef" 2 | 3 | -------------------------------------------------------------------------------- /socket服务端/json/test/data/test_basic_04.json: -------------------------------------------------------------------------------- 1 | "abcdef" 2 | 3 | -------------------------------------------------------------------------------- /socket服务端/json/test/data/test_basic_05.expected: -------------------------------------------------------------------------------- 1 | .=null 2 | 3 | -------------------------------------------------------------------------------- /socket服务端/json/test/data/test_basic_05.json: -------------------------------------------------------------------------------- 1 | null 2 | 3 | -------------------------------------------------------------------------------- /socket服务端/json/test/data/test_basic_06.expected: -------------------------------------------------------------------------------- 1 | .=true 2 | 3 | -------------------------------------------------------------------------------- /socket服务端/json/test/data/test_basic_06.json: -------------------------------------------------------------------------------- 1 | true 2 | 3 | -------------------------------------------------------------------------------- /socket服务端/json/test/data/test_basic_07.expected: -------------------------------------------------------------------------------- 1 | .=false 2 | 3 | -------------------------------------------------------------------------------- /socket服务端/json/test/data/test_basic_07.json: -------------------------------------------------------------------------------- 1 | false 2 | 3 | -------------------------------------------------------------------------------- /socket服务端/json/test/data/test_basic_08.expected: -------------------------------------------------------------------------------- 1 | .=null 2 | 3 | -------------------------------------------------------------------------------- /socket服务端/json/test/data/test_basic_08.json: -------------------------------------------------------------------------------- 1 | // C++ style comment 2 | null 3 | 4 | -------------------------------------------------------------------------------- /socket服务端/json/test/data/test_basic_09.expected: -------------------------------------------------------------------------------- 1 | .=null 2 | 3 | -------------------------------------------------------------------------------- /socket服务端/json/test/data/test_basic_09.json: -------------------------------------------------------------------------------- 1 | /* C style comment 2 | */ 3 | null 4 | 5 | -------------------------------------------------------------------------------- /socket服务端/json/test/data/test_comment_01.expected: -------------------------------------------------------------------------------- 1 | .={} 2 | .test=[] 3 | .test[0]={} 4 | .test[0].a="aaa" 5 | .test[1]={} 6 | .test[1].b="bbb" 7 | .test[2]={} 8 | .test[2].c="ccc" 9 | -------------------------------------------------------------------------------- /socket服务端/json/test/data/test_comment_01.json: -------------------------------------------------------------------------------- 1 | { 2 | "test": 3 | [ 4 | { "a" : "aaa" }, // Comment for a 5 | { "b" : "bbb" }, // Comment for b 6 | { "c" : "ccc" } // Comment for c 7 | ] 8 | } 9 | -------------------------------------------------------------------------------- /socket服务端/json/test/data/test_complex_01.expected: -------------------------------------------------------------------------------- 1 | .={} 2 | .attribute=[] 3 | .attribute[0]="random" 4 | .attribute[1]="short" 5 | .attribute[2]="bold" 6 | .attribute[3]=12 7 | .attribute[4]={} 8 | .attribute[4].height=7 9 | .attribute[4].width=64 10 | .count=1234 11 | .name={} 12 | .name.aka="T.E.S.T." 13 | .name.id=123987 14 | .test={} 15 | .test.1={} 16 | .test.1.2={} 17 | .test.1.2.3={} 18 | .test.1.2.3.coord=[] 19 | .test.1.2.3.coord[0]=1 20 | .test.1.2.3.coord[1]=2 21 | -------------------------------------------------------------------------------- /socket服务端/json/test/data/test_complex_01.json: -------------------------------------------------------------------------------- 1 | { 2 | "count" : 1234, 3 | "name" : { "aka" : "T.E.S.T.", "id" : 123987 }, 4 | "attribute" : [ 5 | "random", 6 | "short", 7 | "bold", 8 | 12, 9 | { "height" : 7, "width" : 64 } 10 | ], 11 | "test": { "1" : 12 | { "2" : 13 | { "3" : { "coord" : [ 1,2] } 14 | } 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /socket服务端/json/test/data/test_integer_01.expected: -------------------------------------------------------------------------------- 1 | .=2147483647 2 | -------------------------------------------------------------------------------- /socket服务端/json/test/data/test_integer_01.json: -------------------------------------------------------------------------------- 1 | // Max signed integer 2 | 2147483647 3 | -------------------------------------------------------------------------------- /socket服务端/json/test/data/test_integer_02.expected: -------------------------------------------------------------------------------- 1 | .=-2147483648 2 | -------------------------------------------------------------------------------- /socket服务端/json/test/data/test_integer_02.json: -------------------------------------------------------------------------------- 1 | // Min signed integer 2 | -2147483648 3 | -------------------------------------------------------------------------------- /socket服务端/json/test/data/test_integer_03.expected: -------------------------------------------------------------------------------- 1 | .=4294967295 2 | -------------------------------------------------------------------------------- /socket服务端/json/test/data/test_integer_03.json: -------------------------------------------------------------------------------- 1 | // Max unsigned integer 2 | 4294967295 3 | -------------------------------------------------------------------------------- /socket服务端/json/test/data/test_integer_04.expected: -------------------------------------------------------------------------------- 1 | .=0 2 | 3 | -------------------------------------------------------------------------------- /socket服务端/json/test/data/test_integer_04.json: -------------------------------------------------------------------------------- 1 | // Min unsigned integer 2 | 0 3 | 4 | -------------------------------------------------------------------------------- /socket服务端/json/test/data/test_integer_05.expected: -------------------------------------------------------------------------------- 1 | .=1 2 | 3 | -------------------------------------------------------------------------------- /socket服务端/json/test/data/test_integer_05.json: -------------------------------------------------------------------------------- 1 | 1 2 | 3 | -------------------------------------------------------------------------------- /socket服务端/json/test/data/test_object_01.expected: -------------------------------------------------------------------------------- 1 | .={} 2 | -------------------------------------------------------------------------------- /socket服务端/json/test/data/test_object_01.json: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /socket服务端/json/test/data/test_object_02.expected: -------------------------------------------------------------------------------- 1 | .={} 2 | .count=1234 3 | -------------------------------------------------------------------------------- /socket服务端/json/test/data/test_object_02.json: -------------------------------------------------------------------------------- 1 | { "count" : 1234 } 2 | -------------------------------------------------------------------------------- /socket服务端/json/test/data/test_object_03.expected: -------------------------------------------------------------------------------- 1 | .={} 2 | .attribute="random" 3 | .count=1234 4 | .name="test" 5 | -------------------------------------------------------------------------------- /socket服务端/json/test/data/test_object_03.json: -------------------------------------------------------------------------------- 1 | { 2 | "count" : 1234, 3 | "name" : "test", 4 | "attribute" : "random" 5 | } 6 | -------------------------------------------------------------------------------- /socket服务端/json/test/data/test_object_04.expected: -------------------------------------------------------------------------------- 1 | .={} 2 | .=1234 3 | -------------------------------------------------------------------------------- /socket服务端/json/test/data/test_object_04.json: -------------------------------------------------------------------------------- 1 | { 2 | "" : 1234 3 | } 4 | -------------------------------------------------------------------------------- /socket服务端/json/test/data/test_preserve_comment_01.expected: -------------------------------------------------------------------------------- 1 | .={} 2 | .first=1 3 | .second=2 4 | -------------------------------------------------------------------------------- /socket服务端/json/test/data/test_preserve_comment_01.json: -------------------------------------------------------------------------------- 1 | /* A comment 2 | at the beginning of the file. 3 | */ 4 | { 5 | "first" : 1, // comment after 'first' on the same line 6 | 7 | /* Comment before 'second' 8 | */ 9 | "second" : 2 10 | } 11 | 12 | /* A comment at 13 | the end of the file. 14 | */ 15 | -------------------------------------------------------------------------------- /socket服务端/json/test/data/test_real_01.expected: -------------------------------------------------------------------------------- 1 | .=8589934592 2 | 3 | -------------------------------------------------------------------------------- /socket服务端/json/test/data/test_real_01.json: -------------------------------------------------------------------------------- 1 | // 2^33 => out of integer range, switch to double 2 | 8589934592 3 | 4 | -------------------------------------------------------------------------------- /socket服务端/json/test/data/test_real_02.expected: -------------------------------------------------------------------------------- 1 | .=-4294967295 2 | 3 | -------------------------------------------------------------------------------- /socket服务端/json/test/data/test_real_02.json: -------------------------------------------------------------------------------- 1 | // -2^32 => out of signed integer range, switch to double 2 | -4294967295 3 | 4 | -------------------------------------------------------------------------------- /socket服务端/json/test/data/test_real_03.expected: -------------------------------------------------------------------------------- 1 | .=-4294967295 2 | 3 | -------------------------------------------------------------------------------- /socket服务端/json/test/data/test_real_03.json: -------------------------------------------------------------------------------- 1 | // -2^32 => out of signed integer range, switch to double 2 | -4294967295 3 | 4 | -------------------------------------------------------------------------------- /socket服务端/json/test/data/test_real_04.expected: -------------------------------------------------------------------------------- 1 | .=1.2345678 2 | 3 | -------------------------------------------------------------------------------- /socket服务端/json/test/data/test_real_04.json: -------------------------------------------------------------------------------- 1 | // 1.2345678 2 | 12345678e-7 3 | 4 | -------------------------------------------------------------------------------- /socket服务端/json/test/data/test_real_05.expected: -------------------------------------------------------------------------------- 1 | .=1234567.8 2 | 3 | 4 | -------------------------------------------------------------------------------- /socket服务端/json/test/data/test_real_05.json: -------------------------------------------------------------------------------- 1 | // 1234567.8 2 | 0.12345678e7 3 | 4 | -------------------------------------------------------------------------------- /socket服务端/json/test/data/test_real_06.expected: -------------------------------------------------------------------------------- 1 | .=-1.2345678 2 | 3 | 4 | -------------------------------------------------------------------------------- /socket服务端/json/test/data/test_real_06.json: -------------------------------------------------------------------------------- 1 | // -1.2345678 2 | -12345678e-7 3 | 4 | -------------------------------------------------------------------------------- /socket服务端/json/test/data/test_real_07.expected: -------------------------------------------------------------------------------- 1 | .=-1234567.8 2 | 3 | 4 | -------------------------------------------------------------------------------- /socket服务端/json/test/data/test_real_07.json: -------------------------------------------------------------------------------- 1 | // -1234567.8 2 | -0.12345678e7 3 | 4 | -------------------------------------------------------------------------------- /socket服务端/json/test/data/test_string_01.expected: -------------------------------------------------------------------------------- 1 | .="!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~" -------------------------------------------------------------------------------- /socket服务端/json/test/data/test_string_01.json: -------------------------------------------------------------------------------- 1 | "!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~" 2 | -------------------------------------------------------------------------------- /socket服务端/json/test/data/test_string_02.expected: -------------------------------------------------------------------------------- 1 | .="!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~" -------------------------------------------------------------------------------- /socket服务端/json/test/data/test_string_02.json: -------------------------------------------------------------------------------- 1 | "!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~" 2 | -------------------------------------------------------------------------------- /socket服务端/json/test/data/test_string_unicode_01.expected: -------------------------------------------------------------------------------- 1 | .="a" 2 | -------------------------------------------------------------------------------- /socket服务端/json/test/data/test_string_unicode_01.json: -------------------------------------------------------------------------------- 1 | "\u0061" -------------------------------------------------------------------------------- /socket服务端/json/test/data/test_string_unicode_02.expected: -------------------------------------------------------------------------------- 1 | .="¢" 2 | -------------------------------------------------------------------------------- /socket服务端/json/test/data/test_string_unicode_02.json: -------------------------------------------------------------------------------- 1 | "\u00A2" -------------------------------------------------------------------------------- /socket服务端/json/test/data/test_string_unicode_03.expected: -------------------------------------------------------------------------------- 1 | .="€" 2 | -------------------------------------------------------------------------------- /socket服务端/json/test/data/test_string_unicode_03.json: -------------------------------------------------------------------------------- 1 | "\u20AC" -------------------------------------------------------------------------------- /socket服务端/json/test/data/test_string_unicode_04.expected: -------------------------------------------------------------------------------- 1 | .="𝄞" 2 | -------------------------------------------------------------------------------- /socket服务端/json/test/data/test_string_unicode_04.json: -------------------------------------------------------------------------------- 1 | "\uD834\uDD1E" -------------------------------------------------------------------------------- /socket服务端/json/test/data/test_string_unicode_05.expected: -------------------------------------------------------------------------------- 1 | .="Zażółć gęślą jaźń" 2 | 3 | -------------------------------------------------------------------------------- /socket服务端/json/test/data/test_string_unicode_05.json: -------------------------------------------------------------------------------- 1 | "Zażółć gęślą jaźń" -------------------------------------------------------------------------------- /socket服务端/json/test/generate_expected.py: -------------------------------------------------------------------------------- 1 | import glob 2 | import os.path 3 | for path in glob.glob( '*.json' ): 4 | text = file(path,'rt').read() 5 | target = os.path.splitext(path)[0] + '.expected' 6 | if os.path.exists( target ): 7 | print 'skipping:', target 8 | else: 9 | print 'creating:', target 10 | file(target,'wt').write(text) 11 | 12 | -------------------------------------------------------------------------------- /socket服务端/json/test/jsonchecker/fail1.json: -------------------------------------------------------------------------------- 1 | "A JSON payload should be an object or array, not a string." -------------------------------------------------------------------------------- /socket服务端/json/test/jsonchecker/fail10.json: -------------------------------------------------------------------------------- 1 | {"Extra value after close": true} "misplaced quoted value" -------------------------------------------------------------------------------- /socket服务端/json/test/jsonchecker/fail11.json: -------------------------------------------------------------------------------- 1 | {"Illegal expression": 1 + 2} -------------------------------------------------------------------------------- /socket服务端/json/test/jsonchecker/fail12.json: -------------------------------------------------------------------------------- 1 | {"Illegal invocation": alert()} -------------------------------------------------------------------------------- /socket服务端/json/test/jsonchecker/fail13.json: -------------------------------------------------------------------------------- 1 | {"Numbers cannot have leading zeroes": 013} -------------------------------------------------------------------------------- /socket服务端/json/test/jsonchecker/fail14.json: -------------------------------------------------------------------------------- 1 | {"Numbers cannot be hex": 0x14} -------------------------------------------------------------------------------- /socket服务端/json/test/jsonchecker/fail15.json: -------------------------------------------------------------------------------- 1 | ["Illegal backslash escape: \x15"] -------------------------------------------------------------------------------- /socket服务端/json/test/jsonchecker/fail16.json: -------------------------------------------------------------------------------- 1 | [\naked] -------------------------------------------------------------------------------- /socket服务端/json/test/jsonchecker/fail17.json: -------------------------------------------------------------------------------- 1 | ["Illegal backslash escape: \017"] -------------------------------------------------------------------------------- /socket服务端/json/test/jsonchecker/fail18.json: -------------------------------------------------------------------------------- 1 | [[[[[[[[[[[[[[[[[[[["Too deep"]]]]]]]]]]]]]]]]]]]] -------------------------------------------------------------------------------- /socket服务端/json/test/jsonchecker/fail19.json: -------------------------------------------------------------------------------- 1 | {"Missing colon" null} -------------------------------------------------------------------------------- /socket服务端/json/test/jsonchecker/fail2.json: -------------------------------------------------------------------------------- 1 | ["Unclosed array" -------------------------------------------------------------------------------- /socket服务端/json/test/jsonchecker/fail20.json: -------------------------------------------------------------------------------- 1 | {"Double colon":: null} -------------------------------------------------------------------------------- /socket服务端/json/test/jsonchecker/fail21.json: -------------------------------------------------------------------------------- 1 | {"Comma instead of colon", null} -------------------------------------------------------------------------------- /socket服务端/json/test/jsonchecker/fail22.json: -------------------------------------------------------------------------------- 1 | ["Colon instead of comma": false] -------------------------------------------------------------------------------- /socket服务端/json/test/jsonchecker/fail23.json: -------------------------------------------------------------------------------- 1 | ["Bad value", truth] -------------------------------------------------------------------------------- /socket服务端/json/test/jsonchecker/fail24.json: -------------------------------------------------------------------------------- 1 | ['single quote'] -------------------------------------------------------------------------------- /socket服务端/json/test/jsonchecker/fail25.json: -------------------------------------------------------------------------------- 1 | [" tab character in string "] -------------------------------------------------------------------------------- /socket服务端/json/test/jsonchecker/fail26.json: -------------------------------------------------------------------------------- 1 | ["tab\ character\ in\ string\ "] -------------------------------------------------------------------------------- /socket服务端/json/test/jsonchecker/fail27.json: -------------------------------------------------------------------------------- 1 | ["line 2 | break"] -------------------------------------------------------------------------------- /socket服务端/json/test/jsonchecker/fail28.json: -------------------------------------------------------------------------------- 1 | ["line\ 2 | break"] -------------------------------------------------------------------------------- /socket服务端/json/test/jsonchecker/fail29.json: -------------------------------------------------------------------------------- 1 | [0e] -------------------------------------------------------------------------------- /socket服务端/json/test/jsonchecker/fail3.json: -------------------------------------------------------------------------------- 1 | {unquoted_key: "keys must be quoted"} -------------------------------------------------------------------------------- /socket服务端/json/test/jsonchecker/fail30.json: -------------------------------------------------------------------------------- 1 | [0e+] -------------------------------------------------------------------------------- /socket服务端/json/test/jsonchecker/fail31.json: -------------------------------------------------------------------------------- 1 | [0e+-1] -------------------------------------------------------------------------------- /socket服务端/json/test/jsonchecker/fail32.json: -------------------------------------------------------------------------------- 1 | {"Comma instead if closing brace": true, -------------------------------------------------------------------------------- /socket服务端/json/test/jsonchecker/fail33.json: -------------------------------------------------------------------------------- 1 | ["mismatch"} -------------------------------------------------------------------------------- /socket服务端/json/test/jsonchecker/fail4.json: -------------------------------------------------------------------------------- 1 | ["extra comma",] -------------------------------------------------------------------------------- /socket服务端/json/test/jsonchecker/fail5.json: -------------------------------------------------------------------------------- 1 | ["double extra comma",,] -------------------------------------------------------------------------------- /socket服务端/json/test/jsonchecker/fail6.json: -------------------------------------------------------------------------------- 1 | [ , "<-- missing value"] -------------------------------------------------------------------------------- /socket服务端/json/test/jsonchecker/fail7.json: -------------------------------------------------------------------------------- 1 | ["Comma after the close"], -------------------------------------------------------------------------------- /socket服务端/json/test/jsonchecker/fail8.json: -------------------------------------------------------------------------------- 1 | ["Extra close"]] -------------------------------------------------------------------------------- /socket服务端/json/test/jsonchecker/fail9.json: -------------------------------------------------------------------------------- 1 | {"Extra comma": true,} -------------------------------------------------------------------------------- /socket服务端/json/test/jsonchecker/pass1.json: -------------------------------------------------------------------------------- 1 | [ 2 | "JSON Test Pattern pass1", 3 | {"object with 1 member":["array with 1 element"]}, 4 | {}, 5 | [], 6 | -42, 7 | true, 8 | false, 9 | null, 10 | { 11 | "integer": 1234567890, 12 | "real": -9876.543210, 13 | "e": 0.123456789e-12, 14 | "E": 1.234567890E+34, 15 | "": 23456789012E66, 16 | "zero": 0, 17 | "one": 1, 18 | "space": " ", 19 | "quote": "\"", 20 | "backslash": "\\", 21 | "controls": "\b\f\n\r\t", 22 | "slash": "/ & \/", 23 | "alpha": "abcdefghijklmnopqrstuvwyz", 24 | "ALPHA": "ABCDEFGHIJKLMNOPQRSTUVWYZ", 25 | "digit": "0123456789", 26 | "0123456789": "digit", 27 | "special": "`1~!@#$%^&*()_+-={':[,]}|;.?", 28 | "hex": "\u0123\u4567\u89AB\uCDEF\uabcd\uef4A", 29 | "true": true, 30 | "false": false, 31 | "null": null, 32 | "array":[ ], 33 | "object":{ }, 34 | "address": "50 St. James Street", 35 | "url": "http://www.JSON.org/", 36 | "comment": "// /* */": " ", 38 | " s p a c e d " :[1,2 , 3 39 | 40 | , 41 | 42 | 4 , 5 , 6 ,7 ],"compact":[1,2,3,4,5,6,7], 43 | "jsontext": "{\"object with 1 member\":[\"array with 1 element\"]}", 44 | "quotes": "" \u0022 %22 0x22 034 "", 45 | "\/\\\"\uCAFE\uBABE\uAB98\uFCDE\ubcda\uef4A\b\f\n\r\t`1~!@#$%^&*()_+-=[]{}|;:',./<>?" 46 | : "A key can be any string" 47 | }, 48 | 0.5 ,98.6 49 | , 50 | 99.44 51 | , 52 | 53 | 1066, 54 | 1e1, 55 | 0.1e1, 56 | 1e-1, 57 | 1e00,2e+00,2e-00 58 | ,"rosebud"] -------------------------------------------------------------------------------- /socket服务端/json/test/jsonchecker/pass2.json: -------------------------------------------------------------------------------- 1 | [[[[[[[[[[[[[[[[[[["Not too deep"]]]]]]]]]]]]]]]]]]] -------------------------------------------------------------------------------- /socket服务端/json/test/jsonchecker/pass3.json: -------------------------------------------------------------------------------- 1 | { 2 | "JSON Test Pattern pass3": { 3 | "The outermost value": "must be an object or array.", 4 | "In this test": "It is an object." 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /socket服务端/json/test/jsonchecker/readme.txt: -------------------------------------------------------------------------------- 1 | Test suite from http://json.org/JSON_checker/. 2 | 3 | If the JSON_checker is working correctly, it must accept all of the pass*.json files and reject all of the fail*.json files. 4 | -------------------------------------------------------------------------------- /socket服务端/json/test/pyjsontestrunner.py: -------------------------------------------------------------------------------- 1 | # Simple implementation of a json test runner to run the test against json-py. 2 | 3 | import sys 4 | import os.path 5 | import json 6 | import types 7 | 8 | if len(sys.argv) != 2: 9 | print "Usage: %s input-json-file", sys.argv[0] 10 | sys.exit(3) 11 | 12 | input_path = sys.argv[1] 13 | base_path = os.path.splitext(input_path)[0] 14 | actual_path = base_path + '.actual' 15 | rewrite_path = base_path + '.rewrite' 16 | rewrite_actual_path = base_path + '.actual-rewrite' 17 | 18 | def valueTreeToString( fout, value, path = '.' ): 19 | ty = type(value) 20 | if ty is types.DictType: 21 | fout.write( '%s={}\n' % path ) 22 | suffix = path[-1] != '.' and '.' or '' 23 | names = value.keys() 24 | names.sort() 25 | for name in names: 26 | valueTreeToString( fout, value[name], path + suffix + name ) 27 | elif ty is types.ListType: 28 | fout.write( '%s=[]\n' % path ) 29 | for index, childValue in zip( xrange(0,len(value)), value ): 30 | valueTreeToString( fout, childValue, path + '[%d]' % index ) 31 | elif ty is types.StringType: 32 | fout.write( '%s="%s"\n' % (path,value) ) 33 | elif ty is types.IntType: 34 | fout.write( '%s=%d\n' % (path,value) ) 35 | elif ty is types.FloatType: 36 | fout.write( '%s=%.16g\n' % (path,value) ) 37 | elif value is True: 38 | fout.write( '%s=true\n' % path ) 39 | elif value is False: 40 | fout.write( '%s=false\n' % path ) 41 | elif value is None: 42 | fout.write( '%s=null\n' % path ) 43 | else: 44 | assert False and "Unexpected value type" 45 | 46 | def parseAndSaveValueTree( input, actual_path ): 47 | root = json.loads( input ) 48 | fout = file( actual_path, 'wt' ) 49 | valueTreeToString( fout, root ) 50 | fout.close() 51 | return root 52 | 53 | def rewriteValueTree( value, rewrite_path ): 54 | rewrite = json.dumps( value ) 55 | #rewrite = rewrite[1:-1] # Somehow the string is quoted ! jsonpy bug ? 56 | file( rewrite_path, 'wt').write( rewrite + '\n' ) 57 | return rewrite 58 | 59 | input = file( input_path, 'rt' ).read() 60 | root = parseAndSaveValueTree( input, actual_path ) 61 | rewrite = rewriteValueTree( json.write( root ), rewrite_path ) 62 | rewrite_root = parseAndSaveValueTree( rewrite, rewrite_actual_path ) 63 | 64 | sys.exit( 0 ) 65 | -------------------------------------------------------------------------------- /socket服务端/json/version: -------------------------------------------------------------------------------- 1 | 0.5.0 -------------------------------------------------------------------------------- /socket服务端/mSQLSave.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/mSQLSave.cpp -------------------------------------------------------------------------------- /socket服务端/main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/main.cpp -------------------------------------------------------------------------------- /socket服务端/mcom.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/mcom.h -------------------------------------------------------------------------------- /socket服务端/mysql32/include/binary_log_types.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2014, 2015 Oracle and/or its affiliates. All rights reserved. 2 | 3 | This program is free software; you can redistribute it and/or modify 4 | it under the terms of the GNU General Public License as published by 5 | the Free Software Foundation; version 2 of the License. 6 | 7 | This program is distributed in the hope that it will be useful, 8 | but WITHOUT ANY WARRANTY; without even the implied warranty of 9 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 10 | GNU General Public License for more details. 11 | 12 | You should have received a copy of the GNU General Public License 13 | along with this program; if not, write to the Free Software 14 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ 15 | 16 | /** 17 | @file binary_log_types.h 18 | 19 | @brief This file contains the field type. 20 | 21 | 22 | @note This file can be imported both from C and C++ code, so the 23 | definitions have to be constructed to support this. 24 | */ 25 | 26 | #ifndef BINARY_LOG_TYPES_INCLUDED 27 | #define BINARY_LOG_TYPES_INCLUDED 28 | 29 | #ifdef __cplusplus 30 | extern "C" 31 | { 32 | #endif 33 | 34 | /* 35 | * Constants exported from this package. 36 | */ 37 | 38 | typedef enum enum_field_types { 39 | MYSQL_TYPE_DECIMAL, MYSQL_TYPE_TINY, 40 | MYSQL_TYPE_SHORT, MYSQL_TYPE_LONG, 41 | MYSQL_TYPE_FLOAT, MYSQL_TYPE_DOUBLE, 42 | MYSQL_TYPE_NULL, MYSQL_TYPE_TIMESTAMP, 43 | MYSQL_TYPE_LONGLONG,MYSQL_TYPE_INT24, 44 | MYSQL_TYPE_DATE, MYSQL_TYPE_TIME, 45 | MYSQL_TYPE_DATETIME, MYSQL_TYPE_YEAR, 46 | MYSQL_TYPE_NEWDATE, MYSQL_TYPE_VARCHAR, 47 | MYSQL_TYPE_BIT, 48 | MYSQL_TYPE_TIMESTAMP2, 49 | MYSQL_TYPE_DATETIME2, 50 | MYSQL_TYPE_TIME2, 51 | MYSQL_TYPE_JSON=245, 52 | MYSQL_TYPE_NEWDECIMAL=246, 53 | MYSQL_TYPE_ENUM=247, 54 | MYSQL_TYPE_SET=248, 55 | MYSQL_TYPE_TINY_BLOB=249, 56 | MYSQL_TYPE_MEDIUM_BLOB=250, 57 | MYSQL_TYPE_LONG_BLOB=251, 58 | MYSQL_TYPE_BLOB=252, 59 | MYSQL_TYPE_VAR_STRING=253, 60 | MYSQL_TYPE_STRING=254, 61 | MYSQL_TYPE_GEOMETRY=255 62 | } enum_field_types; 63 | 64 | #define DATETIME_MAX_DECIMALS 6 65 | 66 | #ifdef __cplusplus 67 | } 68 | #endif // __cplusplus 69 | 70 | #endif /* BINARY_LOG_TYPES_INCLUDED */ 71 | -------------------------------------------------------------------------------- /socket服务端/mysql32/include/byte_order_generic_x86.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2001, 2015, Oracle and/or its affiliates. All rights reserved. 2 | 3 | This program is free software; you can redistribute it and/or modify 4 | it under the terms of the GNU General Public License as published by 5 | the Free Software Foundation; version 2 of the License. 6 | 7 | This program is distributed in the hope that it will be useful, 8 | but WITHOUT ANY WARRANTY; without even the implied warranty of 9 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 10 | GNU General Public License for more details. 11 | 12 | You should have received a copy of the GNU General Public License 13 | along with this program; if not, write to the Free Software 14 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ 15 | 16 | /* 17 | Optimized functions for the x86 architecture (_WIN32 included). 18 | 19 | x86 handles misaligned reads and writes just fine, so suppress 20 | UBSAN warnings for these functions. 21 | */ 22 | static inline int16 sint2korr(const uchar *A) SUPPRESS_UBSAN; 23 | static inline int16 sint2korr(const uchar *A) { return *((int16*) A); } 24 | 25 | static inline int32 sint4korr(const uchar *A) SUPPRESS_UBSAN; 26 | static inline int32 sint4korr(const uchar *A) { return *((int32*) A); } 27 | 28 | static inline uint16 uint2korr(const uchar *A) SUPPRESS_UBSAN; 29 | static inline uint16 uint2korr(const uchar *A) { return *((uint16*) A); } 30 | 31 | static inline uint32 uint4korr(const uchar *A) SUPPRESS_UBSAN; 32 | static inline uint32 uint4korr(const uchar *A) { return *((uint32*) A); } 33 | 34 | static inline ulonglong uint8korr(const uchar *A) SUPPRESS_UBSAN; 35 | static inline ulonglong uint8korr(const uchar *A) { return *((ulonglong*) A);} 36 | 37 | static inline longlong sint8korr(const uchar *A) SUPPRESS_UBSAN; 38 | static inline longlong sint8korr(const uchar *A) { return *((longlong*) A); } 39 | 40 | static inline void int2store(uchar *T, uint16 A) SUPPRESS_UBSAN; 41 | static inline void int2store(uchar *T, uint16 A) 42 | { 43 | *((uint16*) T)= A; 44 | } 45 | 46 | static inline void int4store(uchar *T, uint32 A) SUPPRESS_UBSAN; 47 | static inline void int4store(uchar *T, uint32 A) 48 | { 49 | *((uint32*) T)= A; 50 | } 51 | 52 | static inline void int8store(uchar *T, ulonglong A) SUPPRESS_UBSAN; 53 | static inline void int8store(uchar *T, ulonglong A) 54 | { 55 | *((ulonglong*) T)= A; 56 | } 57 | -------------------------------------------------------------------------------- /socket服务端/mysql32/include/my_alloc.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. 2 | 3 | This program is free software; you can redistribute it and/or modify 4 | it under the terms of the GNU General Public License as published by 5 | the Free Software Foundation; version 2 of the License. 6 | 7 | This program is distributed in the hope that it will be useful, 8 | but WITHOUT ANY WARRANTY; without even the implied warranty of 9 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 10 | GNU General Public License for more details. 11 | 12 | You should have received a copy of the GNU General Public License 13 | along with this program; if not, write to the Free Software 14 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ 15 | 16 | /* 17 | Data structures for mysys/my_alloc.c (root memory allocator) 18 | */ 19 | 20 | #ifndef _my_alloc_h 21 | #define _my_alloc_h 22 | 23 | #define ALLOC_MAX_BLOCK_TO_DROP 4096 24 | #define ALLOC_MAX_BLOCK_USAGE_BEFORE_DROP 10 25 | 26 | /* PSI_memory_key */ 27 | #include "mysql/psi/psi_memory.h" 28 | 29 | #ifdef __cplusplus 30 | extern "C" { 31 | #endif 32 | 33 | typedef struct st_used_mem 34 | { /* struct for once_alloc (block) */ 35 | struct st_used_mem *next; /* Next block in use */ 36 | unsigned int left; /* memory left in block */ 37 | unsigned int size; /* size of block */ 38 | } USED_MEM; 39 | 40 | 41 | typedef struct st_mem_root 42 | { 43 | USED_MEM *free; /* blocks with free memory in it */ 44 | USED_MEM *used; /* blocks almost without free memory */ 45 | USED_MEM *pre_alloc; /* preallocated block */ 46 | /* if block have less memory it will be put in 'used' list */ 47 | size_t min_malloc; 48 | size_t block_size; /* initial block size */ 49 | unsigned int block_num; /* allocated blocks counter */ 50 | /* 51 | first free block in queue test counter (if it exceed 52 | MAX_BLOCK_USAGE_BEFORE_DROP block will be dropped in 'used' list) 53 | */ 54 | unsigned int first_block_usage; 55 | 56 | /* 57 | Maximum amount of memory this mem_root can hold. A value of 0 58 | implies there is no limit. 59 | */ 60 | size_t max_capacity; 61 | 62 | /* Allocated size for this mem_root */ 63 | 64 | size_t allocated_size; 65 | 66 | /* Enable this for error reporting if capacity is exceeded */ 67 | my_bool error_for_capacity_exceeded; 68 | 69 | void (*error_handler)(void); 70 | 71 | PSI_memory_key m_psi_key; 72 | } MEM_ROOT; 73 | 74 | #ifdef __cplusplus 75 | } 76 | #endif 77 | 78 | #endif 79 | -------------------------------------------------------------------------------- /socket服务端/mysql32/include/my_command.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. 2 | 3 | This program is free software; you can redistribute it and/or modify 4 | it under the terms of the GNU General Public License as published by 5 | the Free Software Foundation; version 2 of the License. 6 | 7 | This program is distributed in the hope that it will be useful, 8 | but WITHOUT ANY WARRANTY; without even the implied warranty of 9 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 10 | GNU General Public License for more details. 11 | 12 | You should have received a copy of the GNU General Public License 13 | along with this program; if not, write to the Free Software 14 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ 15 | 16 | #ifndef _mysql_command_h 17 | #define _mysql_command_h 18 | 19 | /** 20 | @enum enum_server_command 21 | @brief You should add new commands to the end of this list, otherwise old 22 | servers won't be able to handle them as 'unsupported'. 23 | */ 24 | enum enum_server_command 25 | { 26 | COM_SLEEP, 27 | COM_QUIT, 28 | COM_INIT_DB, 29 | COM_QUERY, 30 | COM_FIELD_LIST, 31 | COM_CREATE_DB, 32 | COM_DROP_DB, 33 | COM_REFRESH, 34 | COM_SHUTDOWN, 35 | COM_STATISTICS, 36 | COM_PROCESS_INFO, 37 | COM_CONNECT, 38 | COM_PROCESS_KILL, 39 | COM_DEBUG, 40 | COM_PING, 41 | COM_TIME, 42 | COM_DELAYED_INSERT, 43 | COM_CHANGE_USER, 44 | COM_BINLOG_DUMP, 45 | COM_TABLE_DUMP, 46 | COM_CONNECT_OUT, 47 | COM_REGISTER_SLAVE, 48 | COM_STMT_PREPARE, 49 | COM_STMT_EXECUTE, 50 | COM_STMT_SEND_LONG_DATA, 51 | COM_STMT_CLOSE, 52 | COM_STMT_RESET, 53 | COM_SET_OPTION, 54 | COM_STMT_FETCH, 55 | COM_DAEMON, 56 | COM_BINLOG_DUMP_GTID, 57 | COM_RESET_CONNECTION, 58 | /* don't forget to update const char *command_name[] in sql_parse.cc */ 59 | 60 | /* Must be last */ 61 | COM_END 62 | }; 63 | 64 | #endif /* _mysql_command_h */ 65 | -------------------------------------------------------------------------------- /socket服务端/mysql32/include/my_list.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved. 2 | 3 | This program is free software; you can redistribute it and/or modify 4 | it under the terms of the GNU General Public License as published by 5 | the Free Software Foundation; version 2 of the License. 6 | 7 | This program is distributed in the hope that it will be useful, 8 | but WITHOUT ANY WARRANTY; without even the implied warranty of 9 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 10 | GNU General Public License for more details. 11 | 12 | You should have received a copy of the GNU General Public License 13 | along with this program; if not, write to the Free Software 14 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ 15 | 16 | #ifndef _list_h_ 17 | #define _list_h_ 18 | 19 | #ifdef __cplusplus 20 | extern "C" { 21 | #endif 22 | 23 | typedef struct st_list { 24 | struct st_list *prev,*next; 25 | void *data; 26 | } LIST; 27 | 28 | typedef int (*list_walk_action)(void *,void *); 29 | 30 | extern LIST *list_add(LIST *root,LIST *element); 31 | extern LIST *list_delete(LIST *root,LIST *element); 32 | extern LIST *list_cons(void *data,LIST *root); 33 | extern LIST *list_reverse(LIST *root); 34 | extern void list_free(LIST *root,unsigned int free_data); 35 | extern unsigned int list_length(LIST *); 36 | extern int list_walk(LIST *,list_walk_action action,unsigned char * argument); 37 | 38 | #define list_rest(a) ((a)->next) 39 | #define list_push(a,b) (a)=list_cons((b),(a)) 40 | #define list_pop(A) {LIST *old=(A); (A)=list_delete(old,old); my_free(old); } 41 | 42 | #ifdef __cplusplus 43 | } 44 | #endif 45 | #endif 46 | -------------------------------------------------------------------------------- /socket服务端/mysql32/include/mysql/client_authentication.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved. 2 | 3 | This program is free software; you can redistribute it and/or modify 4 | it under the terms of the GNU General Public License as published by 5 | the Free Software Foundation; version 2 of the License. 6 | 7 | This program is distributed in the hope that it will be useful, 8 | but WITHOUT ANY WARRANTY; without even the implied warranty of 9 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 10 | GNU General Public License for more details. 11 | 12 | You should have received a copy of the GNU General Public License 13 | along with this program; if not, write to the Free Software 14 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ 15 | #ifndef CLIENT_AUTHENTICATION_H 16 | #define CLIENT_AUTHENTICATION_H 17 | #include 18 | #include "mysql.h" 19 | #include "mysql/client_plugin.h" 20 | 21 | C_MODE_START 22 | int sha256_password_auth_client(MYSQL_PLUGIN_VIO *vio, MYSQL *mysql); 23 | int sha256_password_init(char *, size_t, int, va_list); 24 | int sha256_password_deinit(void); 25 | C_MODE_END 26 | 27 | #endif 28 | 29 | -------------------------------------------------------------------------------- /socket服务端/mysql32/include/mysql/client_plugin.h.pp: -------------------------------------------------------------------------------- 1 | struct st_mysql_client_plugin 2 | { 3 | int type; unsigned int interface_version; const char *name; const char *author; const char *desc; unsigned int version[3]; const char *license; void *mysql_api; int (*init)(char *, size_t, int, va_list); int (*deinit)(void); int (*options)(const char *option, const void *); 4 | }; 5 | struct st_mysql; 6 | #include "plugin_auth_common.h" 7 | typedef struct st_plugin_vio_info 8 | { 9 | enum { MYSQL_VIO_INVALID, MYSQL_VIO_TCP, MYSQL_VIO_SOCKET, 10 | MYSQL_VIO_PIPE, MYSQL_VIO_MEMORY } protocol; 11 | int socket; 12 | } MYSQL_PLUGIN_VIO_INFO; 13 | typedef struct st_plugin_vio 14 | { 15 | int (*read_packet)(struct st_plugin_vio *vio, 16 | unsigned char **buf); 17 | int (*write_packet)(struct st_plugin_vio *vio, 18 | const unsigned char *packet, 19 | int packet_len); 20 | void (*info)(struct st_plugin_vio *vio, struct st_plugin_vio_info *info); 21 | } MYSQL_PLUGIN_VIO; 22 | struct st_mysql_client_plugin_AUTHENTICATION 23 | { 24 | int type; unsigned int interface_version; const char *name; const char *author; const char *desc; unsigned int version[3]; const char *license; void *mysql_api; int (*init)(char *, size_t, int, va_list); int (*deinit)(void); int (*options)(const char *option, const void *); 25 | int (*authenticate_user)(MYSQL_PLUGIN_VIO *vio, struct st_mysql *mysql); 26 | }; 27 | struct st_mysql_client_plugin * 28 | mysql_load_plugin(struct st_mysql *mysql, const char *name, int type, 29 | int argc, ...); 30 | struct st_mysql_client_plugin * 31 | mysql_load_plugin_v(struct st_mysql *mysql, const char *name, int type, 32 | int argc, va_list args); 33 | struct st_mysql_client_plugin * 34 | mysql_client_find_plugin(struct st_mysql *mysql, const char *name, int type); 35 | struct st_mysql_client_plugin * 36 | mysql_client_register_plugin(struct st_mysql *mysql, 37 | struct st_mysql_client_plugin *plugin); 38 | int mysql_plugin_options(struct st_mysql_client_plugin *plugin, 39 | const char *option, const void *value); 40 | -------------------------------------------------------------------------------- /socket服务端/mysql32/include/mysql/get_password.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved. 2 | 3 | This program is free software; you can redistribute it and/or modify 4 | it under the terms of the GNU General Public License as published by 5 | the Free Software Foundation; version 2 of the License. 6 | 7 | This program is distributed in the hope that it will be useful, 8 | but WITHOUT ANY WARRANTY; without even the implied warranty of 9 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 10 | GNU General Public License for more details. 11 | 12 | You should have received a copy of the GNU General Public License 13 | along with this program; if not, write to the Free Software 14 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ 15 | 16 | /* 17 | ** Ask for a password from tty 18 | ** This is an own file to avoid conflicts with curses 19 | */ 20 | 21 | #ifndef MYSQL_GET_PASSWORD_H_INCLUDED 22 | #define MYSQL_GET_PASSWORD_H_INCLUDED 23 | 24 | #ifdef __cplusplus 25 | extern "C" { 26 | #endif 27 | 28 | typedef char *(* strdup_handler_t)(const char *, int); 29 | char *get_tty_password_ext(const char *opt_message, 30 | strdup_handler_t strdup_function); 31 | 32 | #ifdef __cplusplus 33 | } 34 | #endif 35 | 36 | #endif /* ! MYSQL_GET_PASSWORD_H_INCLUDED */ 37 | -------------------------------------------------------------------------------- /socket服务端/mysql32/include/mysql/innodb_priv.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. 2 | 3 | This program is free software; you can redistribute it and/or modify 4 | it under the terms of the GNU General Public License as published by 5 | the Free Software Foundation; version 2 of the License. 6 | 7 | This program is distributed in the hope that it will be useful, 8 | but WITHOUT ANY WARRANTY; without even the implied warranty of 9 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 10 | GNU General Public License for more details. 11 | 12 | You should have received a copy of the GNU General Public License 13 | along with this program; if not, write to the Free Software 14 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ 15 | 16 | #ifndef INNODB_PRIV_INCLUDED 17 | #define INNODB_PRIV_INCLUDED 18 | 19 | /** @file Declaring server-internal functions that are used by InnoDB. */ 20 | 21 | class THD; 22 | 23 | int get_quote_char_for_identifier(THD *thd, const char *name, size_t length); 24 | bool schema_table_store_record(THD *thd, TABLE *table); 25 | void localtime_to_TIME(MYSQL_TIME *to, struct tm *from); 26 | bool check_global_access(THD *thd, ulong want_access); 27 | size_t strconvert(CHARSET_INFO *from_cs, const char *from, 28 | CHARSET_INFO *to_cs, char *to, size_t to_length, 29 | uint *errors); 30 | void sql_print_error(const char *format, ...); 31 | 32 | /** 33 | Store record to I_S table, convert HEAP table to InnoDB table if necessary. 34 | 35 | @param[in] thd thread handler 36 | @param[in] table Information schema table to be updated 37 | @param[in] make_ondisk if true, convert heap table to on disk table. 38 | default value is true. 39 | @return 0 on success 40 | @return error code on failure. 41 | */ 42 | int schema_table_store_record2(THD *thd, TABLE *table, bool make_ondisk); 43 | 44 | /** 45 | Convert HEAP table to InnoDB table if necessary 46 | 47 | @param[in] thd thread handler 48 | @param[in] table Information schema table to be converted. 49 | @param[in] error the error code returned previously. 50 | @return false on success, true on error. 51 | */ 52 | bool convert_heap_table_to_ondisk(THD *thd, TABLE *table, int error); 53 | 54 | 55 | #endif /* INNODB_PRIV_INCLUDED */ 56 | -------------------------------------------------------------------------------- /socket服务端/mysql32/include/mysql/mysql_lex_string.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. 2 | 3 | This program is free software; you can redistribute it and/or modify 4 | it under the terms of the GNU General Public License as published by 5 | the Free Software Foundation; version 2 of the License. 6 | 7 | This program is distributed in the hope that it will be useful, 8 | but WITHOUT ANY WARRANTY; without even the implied warranty of 9 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 10 | GNU General Public License for more details. 11 | 12 | You should have received a copy of the GNU General Public License 13 | along with this program; if not, write to the Free Software 14 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ 15 | 16 | #ifndef MYSQL_LEX_STRING_INCLUDED 17 | #define MYSQL_LEX_STRING_INCLUDED 18 | 19 | struct st_mysql_lex_string 20 | { 21 | char *str; 22 | size_t length; 23 | }; 24 | typedef struct st_mysql_lex_string MYSQL_LEX_STRING; 25 | 26 | struct st_mysql_const_lex_string 27 | { 28 | const char *str; 29 | size_t length; 30 | }; 31 | typedef struct st_mysql_const_lex_string MYSQL_LEX_CSTRING; 32 | 33 | #endif // MYSQL_LEX_STRING_INCLUDED 34 | -------------------------------------------------------------------------------- /socket服务端/mysql32/include/mysql/plugin_validate_password.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved. 2 | 3 | This program is free software; you can redistribute it and/or modify 4 | it under the terms of the GNU General Public License as published by 5 | the Free Software Foundation; version 2 of the License. 6 | 7 | This program is distributed in the hope that it will be useful, 8 | but WITHOUT ANY WARRANTY; without even the implied warranty of 9 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 10 | GNU General Public License for more details. 11 | 12 | You should have received a copy of the GNU General Public License 13 | along with this program; if not, write to the Free Software 14 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ 15 | 16 | #ifndef MYSQL_PLUGIN_VALIDATE_PASSWORD_INCLUDED 17 | #define MYSQL_PLUGIN_VALIDATE_PASSWORD_INCLUDED 18 | 19 | /* API for validate_password plugin. (MYSQL_VALIDATE_PASSWORD_PLUGIN) */ 20 | 21 | #include 22 | #define MYSQL_VALIDATE_PASSWORD_INTERFACE_VERSION 0x0100 23 | 24 | /* 25 | The descriptor structure for the plugin, that is referred from 26 | st_mysql_plugin. 27 | */ 28 | 29 | typedef void* mysql_string_handle; 30 | 31 | struct st_mysql_validate_password 32 | { 33 | int interface_version; 34 | /* 35 | This function retuns TRUE for passwords which satisfy the password 36 | policy (as choosen by plugin variable) and FALSE for all other 37 | password 38 | */ 39 | int (*validate_password)(mysql_string_handle password); 40 | /* 41 | This function returns the password strength (0-100) depending 42 | upon the policies 43 | */ 44 | int (*get_password_strength)(mysql_string_handle password); 45 | }; 46 | #endif 47 | -------------------------------------------------------------------------------- /socket服务端/mysql32/include/mysql/psi/mysql_memory.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2012, 2016, Oracle and/or its affiliates. All rights reserved. 2 | 3 | This program is free software; you can redistribute it and/or modify 4 | it under the terms of the GNU General Public License as published by 5 | the Free Software Foundation; version 2 of the License. 6 | 7 | This program is distributed in the hope that it will be useful, 8 | but WITHOUT ANY WARRANTY; without even the implied warranty of 9 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 10 | GNU General Public License for more details. 11 | 12 | You should have received a copy of the GNU General Public License 13 | along with this program; if not, write to the Free Software Foundation, 14 | 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */ 15 | 16 | #ifndef MYSQL_MEMORY_H 17 | #define MYSQL_MEMORY_H 18 | 19 | /** 20 | @file mysql/psi/mysql_memory.h 21 | Instrumentation helpers for memory allocation. 22 | */ 23 | 24 | #include "mysql/psi/psi.h" 25 | 26 | #ifndef PSI_MEMORY_CALL 27 | #define PSI_MEMORY_CALL(M) PSI_DYNAMIC_CALL(M) 28 | #endif 29 | 30 | /** 31 | @defgroup Memory_instrumentation Memory Instrumentation 32 | @ingroup Instrumentation_interface 33 | @{ 34 | */ 35 | 36 | /** 37 | @def mysql_memory_register(P1, P2, P3) 38 | Memory registration. 39 | */ 40 | #define mysql_memory_register(P1, P2, P3) \ 41 | inline_mysql_memory_register(P1, P2, P3) 42 | 43 | static inline void inline_mysql_memory_register( 44 | #ifdef HAVE_PSI_MEMORY_INTERFACE 45 | const char *category, 46 | PSI_memory_info *info, 47 | int count) 48 | #else 49 | const char *category MY_ATTRIBUTE((unused)), 50 | void *info MY_ATTRIBUTE((unused)), 51 | int count MY_ATTRIBUTE((unused))) 52 | #endif 53 | { 54 | #ifdef HAVE_PSI_MEMORY_INTERFACE 55 | PSI_MEMORY_CALL(register_memory)(category, info, count); 56 | #endif 57 | } 58 | 59 | /** @} (end of group Memory_instrumentation) */ 60 | 61 | #endif 62 | 63 | -------------------------------------------------------------------------------- /socket服务端/mysql32/include/mysql/service_my_plugin_log.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved. 2 | 3 | This program is free software; you can redistribute it and/or 4 | modify it under the terms of the GNU General Public License as 5 | published by the Free Software Foundation; version 2 of the 6 | License. 7 | 8 | This program is distributed in the hope that it will be useful, 9 | but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | GNU General Public License for more details. 12 | 13 | You should have received a copy of the GNU General Public License 14 | along with this program; if not, write to the Free Software 15 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ 16 | 17 | /** 18 | @file 19 | This service provides functions to report error conditions and log to 20 | mysql error log. 21 | */ 22 | 23 | #ifndef MYSQL_SERVICE_MY_PLUGIN_LOG_INCLUDED 24 | #define MYSQL_SERVICE_MY_PLUGIN_LOG_INCLUDED 25 | 26 | #ifndef MYSQL_ABI_CHECK 27 | #include 28 | #endif 29 | 30 | /* keep in sync with the loglevel enum in my_sys.h */ 31 | enum plugin_log_level 32 | { 33 | MY_ERROR_LEVEL, 34 | MY_WARNING_LEVEL, 35 | MY_INFORMATION_LEVEL 36 | }; 37 | 38 | 39 | #ifdef __cplusplus 40 | extern "C" { 41 | #endif 42 | 43 | extern struct my_plugin_log_service 44 | { 45 | /** write a message to the log */ 46 | int (*my_plugin_log_message)(MYSQL_PLUGIN *, enum plugin_log_level, const char *, ...); 47 | } *my_plugin_log_service; 48 | 49 | #ifdef MYSQL_DYNAMIC_PLUGIN 50 | 51 | #define my_plugin_log_message my_plugin_log_service->my_plugin_log_message 52 | 53 | #else 54 | 55 | int my_plugin_log_message(MYSQL_PLUGIN *plugin, enum plugin_log_level level, 56 | const char *format, ...); 57 | 58 | #endif 59 | 60 | #ifdef __cplusplus 61 | } 62 | #endif 63 | 64 | #endif 65 | -------------------------------------------------------------------------------- /socket服务端/mysql32/include/mysql/service_mysql_keyring.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2014, 2016 Oracle and/or its affiliates. All rights reserved. 2 | 3 | This program is free software; you can redistribute it and/or modify 4 | it under the terms of the GNU General Public License as published by 5 | the Free Software Foundation; version 2 of the License. 6 | 7 | This program is distributed in the hope that it will be useful, 8 | but WITHOUT ANY WARRANTY; without even the implied warranty of 9 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 10 | GNU General Public License for more details. 11 | 12 | You should have received a copy of the GNU General Public License 13 | along with this program; if not, write to the Free Software 14 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ 15 | 16 | #ifndef MYSQL_SERVICE_MYSQL_PLUGIN_KEYRING_INCLUDED 17 | #define MYSQL_SERVICE_MYSQL_PLUGIN_KEYRING_INCLUDED 18 | 19 | #ifdef __cplusplus 20 | extern "C" { 21 | #endif 22 | 23 | extern struct mysql_keyring_service_st 24 | { 25 | int (*my_key_store_func)(const char *, const char *, const char *, 26 | const void *, size_t); 27 | int (*my_key_fetch_func)(const char *, char **, const char *, void **, 28 | size_t *); 29 | int (*my_key_remove_func)(const char *, const char *); 30 | int (*my_key_generate_func)(const char *, const char *, const char *, 31 | size_t); 32 | } *mysql_keyring_service; 33 | 34 | #ifdef MYSQL_DYNAMIC_PLUGIN 35 | 36 | #define my_key_store(key_id, key_type, user_id, key, key_len) \ 37 | mysql_keyring_service->my_key_store_func(key_id, key_type, user_id, key, \ 38 | key_len) 39 | #define my_key_fetch(key_id, key_type, user_id, key, key_len) \ 40 | mysql_keyring_service->my_key_fetch_func(key_id, key_type, user_id, key, \ 41 | key_len) 42 | #define my_key_remove(key_id, user_id) \ 43 | mysql_keyring_service->my_key_remove_func(key_id, user_id) 44 | #define my_key_generate(key_id, key_type, user_id, key_len) \ 45 | mysql_keyring_service->my_key_generate_func(key_id, key_type, user_id, \ 46 | key_len) 47 | #else 48 | 49 | int my_key_store(const char *, const char *, const char *, const void *, size_t); 50 | int my_key_fetch(const char *, char **, const char *, void **, 51 | size_t *); 52 | int my_key_remove(const char *, const char *); 53 | int my_key_generate(const char *, const char *, const char *, size_t); 54 | 55 | #endif 56 | 57 | #ifdef __cplusplus 58 | } 59 | #endif 60 | 61 | #endif //MYSQL_SERVICE_MYSQL_PLUGIN_KEYRING_INCLUDED 62 | 63 | -------------------------------------------------------------------------------- /socket服务端/mysql32/include/mysql/service_rpl_transaction_ctx.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved. 2 | 3 | This program is free software; you can redistribute it and/or modify 4 | it under the terms of the GNU General Public License as published by 5 | the Free Software Foundation; version 2 of the License. 6 | 7 | This program is distributed in the hope that it will be useful, 8 | but WITHOUT ANY WARRANTY; without even the implied warranty of 9 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 10 | GNU General Public License for more details. 11 | 12 | You should have received a copy of the GNU General Public License 13 | along with this program; if not, write to the Free Software 14 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ 15 | 16 | #ifndef MYSQL_SERVICE_RPL_TRANSACTION_CTX_INCLUDED 17 | 18 | /** 19 | @file include/mysql/service_rpl_transaction_ctx.h 20 | This service provides a function for plugins to report if a transaction of a 21 | given THD should continue or be aborted. 22 | 23 | SYNOPSIS 24 | set_transaction_ctx() 25 | should be called during RUN_HOOK macro, on which we know that thread is 26 | on plugin context and it is before 27 | Rpl_transaction_ctx::is_transaction_rollback() check. 28 | */ 29 | 30 | #ifndef MYSQL_ABI_CHECK 31 | #include 32 | #endif 33 | 34 | #ifdef __cplusplus 35 | extern "C" { 36 | #endif 37 | 38 | struct st_transaction_termination_ctx 39 | { 40 | unsigned long m_thread_id; 41 | unsigned int m_flags; // reserved 42 | 43 | /* 44 | If the instruction is to rollback the transaction, 45 | then this flag is set to false. 46 | Note: type is char like on my_bool. 47 | */ 48 | char m_rollback_transaction; 49 | 50 | /* 51 | If the plugin has generated a GTID, then the follwoing 52 | fields MUST be set. 53 | Note: type is char like on my_bool. 54 | */ 55 | char m_generated_gtid; 56 | int m_sidno; 57 | long long int m_gno; 58 | }; 59 | typedef struct st_transaction_termination_ctx Transaction_termination_ctx; 60 | 61 | extern struct rpl_transaction_ctx_service_st { 62 | int (*set_transaction_ctx)(Transaction_termination_ctx transaction_termination_ctx); 63 | } *rpl_transaction_ctx_service; 64 | 65 | #ifdef MYSQL_DYNAMIC_PLUGIN 66 | 67 | #define set_transaction_ctx(transaction_termination_ctx) \ 68 | (rpl_transaction_ctx_service->set_transaction_ctx((transaction_termination_ctx))) 69 | 70 | #else 71 | 72 | int set_transaction_ctx(Transaction_termination_ctx transaction_termination_ctx); 73 | 74 | #endif 75 | 76 | #ifdef __cplusplus 77 | } 78 | #endif 79 | 80 | #define MYSQL_SERVICE_RPL_TRANSACTION_CTX_INCLUDED 81 | #endif 82 | -------------------------------------------------------------------------------- /socket服务端/mysql32/include/mysql/service_thd_engine_lock.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. 2 | 3 | This program is free software; you can redistribute it and/or modify 4 | it under the terms of the GNU General Public License as published by 5 | the Free Software Foundation; version 2 of the License. 6 | 7 | This program is distributed in the hope that it will be useful, 8 | but WITHOUT ANY WARRANTY; without even the implied warranty of 9 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 10 | GNU General Public License for more details. 11 | 12 | You should have received a copy of the GNU General Public License 13 | along with this program; if not, write to the Free Software 14 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ 15 | 16 | #ifndef MYSQL_SERVICE_THD_EGINE_LOCK_INCLUDED 17 | #define MYSQL_SERVICE_THD_EGINE_LOCK_INCLUDED 18 | 19 | /** 20 | @file include/mysql/service_thd_engine_lock.h 21 | This service provides functions for storage engines to report 22 | lock related activities. 23 | 24 | SYNOPSIS 25 | thd_row_lock_wait() - call it just when the engine find a transaction should wait 26 | another transaction to realease a row lock 27 | thd The session which is waiting for the row lock to release. 28 | thd_wait_for The session which is holding the row lock. 29 | */ 30 | 31 | #ifdef __cplusplus 32 | class THD; 33 | #else 34 | #define THD void 35 | #endif 36 | 37 | #ifdef __cplusplus 38 | extern "C" { 39 | #endif 40 | 41 | void thd_report_row_lock_wait(THD* self, THD *wait_for); 42 | 43 | #ifdef __cplusplus 44 | } 45 | #endif 46 | 47 | #endif 48 | -------------------------------------------------------------------------------- /socket服务端/mysql32/include/mysql/services.h: -------------------------------------------------------------------------------- 1 | #ifndef MYSQL_SERVICES_INCLUDED 2 | /* Copyright (c) 2009, 2016, Oracle and/or its affiliates. All rights reserved. 3 | 4 | This program is free software; you can redistribute it and/or modify 5 | it under the terms of the GNU General Public License as published by 6 | the Free Software Foundation; version 2 of the License. 7 | 8 | This program is distributed in the hope that it will be useful, 9 | but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | GNU General Public License for more details. 12 | 13 | You should have received a copy of the GNU General Public License 14 | along with this program; if not, write to the Free Software 15 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ 16 | 17 | 18 | /* 19 | Out of extern because of inclusion of files which include my_compiler.h 20 | which in turn complains about C-linkage of templates. 21 | service_srv_session.h and service_command.h use proper extern "C" for 22 | their exported symbols. 23 | */ 24 | #ifndef EMBEDDED_LIBRARY 25 | #include 26 | #include 27 | #include 28 | #endif 29 | 30 | 31 | #ifdef __cplusplus 32 | extern "C" { 33 | #endif 34 | 35 | #include 36 | #include 37 | #include 38 | #include 39 | #include 40 | #include 41 | #include 42 | #include 43 | #include 44 | #include 45 | #include 46 | #include 47 | #include 48 | #include 49 | 50 | #ifdef __cplusplus 51 | } 52 | #endif 53 | 54 | #ifdef __cplusplus 55 | #include 56 | #endif 57 | 58 | #define MYSQL_SERVICES_INCLUDED 59 | #endif /* MYSQL_SERVICES_INCLUDED */ 60 | -------------------------------------------------------------------------------- /socket服务端/mysql32/include/mysql/thread_type.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. 2 | 3 | This program is free software; you can redistribute it and/or modify 4 | it under the terms of the GNU General Public License as published by 5 | the Free Software Foundation; version 2 of the License. 6 | 7 | This program is distributed in the hope that it will be useful, 8 | but WITHOUT ANY WARRANTY; without even the implied warranty of 9 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 10 | GNU General Public License for more details. 11 | 12 | You should have received a copy of the GNU General Public License 13 | along with this program; if not, write to the Free Software 14 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ 15 | 16 | /* Defines to make different thread packages compatible */ 17 | 18 | #ifndef THREAD_TYPE_INCLUDED 19 | #define THREAD_TYPE_INCLUDED 20 | 21 | #ifdef __cplusplus 22 | extern "C"{ 23 | #endif 24 | 25 | /* Flags for the THD::system_thread variable */ 26 | enum enum_thread_type 27 | { 28 | NON_SYSTEM_THREAD= 0, 29 | SYSTEM_THREAD_SLAVE_IO= 1, 30 | SYSTEM_THREAD_SLAVE_SQL= 2, 31 | SYSTEM_THREAD_NDBCLUSTER_BINLOG= 4, 32 | SYSTEM_THREAD_EVENT_SCHEDULER= 8, 33 | SYSTEM_THREAD_EVENT_WORKER= 16, 34 | SYSTEM_THREAD_INFO_REPOSITORY= 32, 35 | SYSTEM_THREAD_SLAVE_WORKER= 64, 36 | SYSTEM_THREAD_COMPRESS_GTID_TABLE= 128, 37 | SYSTEM_THREAD_BACKGROUND= 256 38 | }; 39 | 40 | #ifdef __cplusplus 41 | } 42 | #endif 43 | 44 | #endif /* THREAD_TYPE_INCLUDED */ 45 | -------------------------------------------------------------------------------- /socket服务端/mysql32/include/mysql_com_server.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved. 2 | 3 | This program is free software; you can redistribute it and/or modify 4 | it under the terms of the GNU General Public License as published by 5 | the Free Software Foundation; version 2 of the License. 6 | 7 | This program is distributed in the hope that it will be useful, 8 | but WITHOUT ANY WARRANTY; without even the implied warranty of 9 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 10 | GNU General Public License for more details. 11 | 12 | You should have received a copy of the GNU General Public License 13 | along with this program; if not, write to the Free Software 14 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ 15 | 16 | /* 17 | Definitions private to the server, 18 | used in the networking layer to notify specific events. 19 | */ 20 | 21 | #ifndef _mysql_com_server_h 22 | #define _mysql_com_server_h 23 | 24 | struct st_net_server; 25 | 26 | typedef void (*before_header_callback_fn) 27 | (struct st_net *net, void *user_data, size_t count); 28 | 29 | typedef void (*after_header_callback_fn) 30 | (struct st_net *net, void *user_data, size_t count, my_bool rc); 31 | 32 | struct st_net_server 33 | { 34 | before_header_callback_fn m_before_header; 35 | after_header_callback_fn m_after_header; 36 | void *m_user_data; 37 | }; 38 | 39 | typedef struct st_net_server NET_SERVER; 40 | 41 | #endif 42 | -------------------------------------------------------------------------------- /socket服务端/mysql32/include/mysql_embed.h: -------------------------------------------------------------------------------- 1 | #ifndef MYSQL_EMBED_INCLUDED 2 | #define MYSQL_EMBED_INCLUDED 3 | 4 | /* Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. 5 | 6 | This program is free software; you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation; version 2 of the License. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ 18 | 19 | /* Defines that are unique to the embedded version of MySQL */ 20 | 21 | #ifdef EMBEDDED_LIBRARY 22 | 23 | /* Things we don't need in the embedded version of MySQL */ 24 | /* TODO HF add #undef HAVE_VIO if we don't want client in embedded library */ 25 | 26 | #undef HAVE_DLOPEN /* No udf functions */ 27 | 28 | #endif /* EMBEDDED_LIBRARY */ 29 | #endif /* MYSQL_EMBED_INCLUDED */ 30 | -------------------------------------------------------------------------------- /socket服务端/mysql32/include/mysql_time.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved. 2 | 3 | This program is free software; you can redistribute it and/or modify 4 | it under the terms of the GNU General Public License as published by 5 | the Free Software Foundation; version 2 of the License. 6 | 7 | This program is distributed in the hope that it will be useful, 8 | but WITHOUT ANY WARRANTY; without even the implied warranty of 9 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 10 | GNU General Public License for more details. 11 | 12 | You should have received a copy of the GNU General Public License 13 | along with this program; if not, write to the Free Software 14 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ 15 | 16 | #ifndef _mysql_time_h_ 17 | #define _mysql_time_h_ 18 | 19 | /* 20 | Time declarations shared between the server and client API: 21 | you should not add anything to this header unless it's used 22 | (and hence should be visible) in mysql.h. 23 | If you're looking for a place to add new time-related declaration, 24 | it's most likely my_time.h. See also "C API Handling of Date 25 | and Time Values" chapter in documentation. 26 | */ 27 | 28 | enum enum_mysql_timestamp_type 29 | { 30 | MYSQL_TIMESTAMP_NONE= -2, MYSQL_TIMESTAMP_ERROR= -1, 31 | MYSQL_TIMESTAMP_DATE= 0, MYSQL_TIMESTAMP_DATETIME= 1, MYSQL_TIMESTAMP_TIME= 2 32 | }; 33 | 34 | 35 | /* 36 | Structure which is used to represent datetime values inside MySQL. 37 | 38 | We assume that values in this structure are normalized, i.e. year <= 9999, 39 | month <= 12, day <= 31, hour <= 23, hour <= 59, hour <= 59. Many functions 40 | in server such as my_system_gmt_sec() or make_time() family of functions 41 | rely on this (actually now usage of make_*() family relies on a bit weaker 42 | restriction). Also functions that produce MYSQL_TIME as result ensure this. 43 | There is one exception to this rule though if this structure holds time 44 | value (time_type == MYSQL_TIMESTAMP_TIME) days and hour member can hold 45 | bigger values. 46 | */ 47 | typedef struct st_mysql_time 48 | { 49 | unsigned int year, month, day, hour, minute, second; 50 | unsigned long second_part; /**< microseconds */ 51 | my_bool neg; 52 | enum enum_mysql_timestamp_type time_type; 53 | } MYSQL_TIME; 54 | 55 | #endif /* _mysql_time_h_ */ 56 | -------------------------------------------------------------------------------- /socket服务端/mysql32/include/mysql_version.h: -------------------------------------------------------------------------------- 1 | /* Copyright Abandoned 1996,1999 TCX DataKonsult AB & Monty Program KB 2 | & Detron HB, 1996, 1999-2004, 2007 MySQL AB. 3 | This file is public domain and comes with NO WARRANTY of any kind 4 | */ 5 | 6 | /* Version numbers for protocol & mysqld */ 7 | 8 | #ifndef _mysql_version_h 9 | #define _mysql_version_h 10 | 11 | #define PROTOCOL_VERSION 10 12 | #define MYSQL_SERVER_VERSION "5.7.21" 13 | #define MYSQL_BASE_VERSION "mysqld-5.7" 14 | #define MYSQL_SERVER_SUFFIX_DEF "" 15 | #define FRM_VER 6 16 | #define MYSQL_VERSION_ID 50721 17 | #define MYSQL_PORT 3306 18 | #define MYSQL_PORT_DEFAULT 0 19 | #define MYSQL_UNIX_ADDR "/tmp/mysql.sock" 20 | #define MYSQL_CONFIG_NAME "my" 21 | #define MYSQL_COMPILATION_COMMENT "MySQL Community Server (GPL)" 22 | #define LIBMYSQL_VERSION "5.7.21" 23 | #define LIBMYSQL_VERSION_ID 50721 24 | #define SYS_SCHEMA_VERSION "1.5.1" 25 | 26 | #ifndef LICENSE 27 | #define LICENSE GPL 28 | #endif /* LICENSE */ 29 | 30 | #endif /* _mysql_version_h */ 31 | -------------------------------------------------------------------------------- /socket服务端/mysql32/include/plugin_validate_password.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved. 2 | 3 | This program is free software; you can redistribute it and/or modify 4 | it under the terms of the GNU General Public License as published by 5 | the Free Software Foundation; version 2 of the License. 6 | 7 | This program is distributed in the hope that it will be useful, 8 | but WITHOUT ANY WARRANTY; without even the implied warranty of 9 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 10 | GNU General Public License for more details. 11 | 12 | You should have received a copy of the GNU General Public License 13 | along with this program; if not, write to the Free Software 14 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ 15 | 16 | #ifndef MYSQL_PLUGIN_VALIDATE_PASSWORD_INCLUDED 17 | #define MYSQL_PLUGIN_VALIDATE_PASSWORD_INCLUDED 18 | 19 | /* API for validate_password plugin. (MYSQL_VALIDATE_PASSWORD_PLUGIN) */ 20 | 21 | #include 22 | #define MYSQL_VALIDATE_PASSWORD_INTERFACE_VERSION 0x0100 23 | 24 | /* 25 | The descriptor structure for the plugin, that is referred from 26 | st_mysql_plugin. 27 | */ 28 | 29 | typedef void* mysql_string_handle; 30 | 31 | struct st_mysql_validate_password 32 | { 33 | int interface_version; 34 | /* 35 | This function retuns TRUE for passwords which satisfy the password 36 | policy (as choosen by plugin variable) and FALSE for all other 37 | password 38 | */ 39 | int (*validate_password)(mysql_string_handle password); 40 | /* 41 | This function returns the password strength (0-100) depending 42 | upon the policies 43 | */ 44 | int (*get_password_strength)(mysql_string_handle password); 45 | }; 46 | #endif 47 | -------------------------------------------------------------------------------- /socket服务端/mysql32/include/sslopt-case.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. 2 | 3 | This program is free software; you can redistribute it and/or modify 4 | it under the terms of the GNU General Public License as published by 5 | the Free Software Foundation; version 2 of the License. 6 | 7 | This program is distributed in the hope that it will be useful, 8 | but WITHOUT ANY WARRANTY; without even the implied warranty of 9 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 10 | GNU General Public License for more details. 11 | 12 | You should have received a copy of the GNU General Public License 13 | along with this program; if not, write to the Free Software 14 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ 15 | 16 | #if defined(HAVE_OPENSSL) && !defined(EMBEDDED_LIBRARY) 17 | 18 | #ifndef MYSQL_CLIENT 19 | #error This header is supposed to be used only in the client 20 | #endif 21 | 22 | case OPT_SSL_MODE: 23 | opt_ssl_mode= find_type_or_exit(argument, &ssl_mode_typelib, 24 | opt->name); 25 | ssl_mode_set_explicitly= TRUE; 26 | break; 27 | case OPT_SSL_SSL: 28 | CLIENT_WARN_DEPRECATED("--ssl", "--ssl-mode"); 29 | if (!opt_use_ssl_arg) 30 | opt_ssl_mode= SSL_MODE_DISABLED; 31 | else if (opt_ssl_mode < SSL_MODE_REQUIRED) 32 | opt_ssl_mode= SSL_MODE_REQUIRED; 33 | break; 34 | case OPT_SSL_VERIFY_SERVER_CERT: 35 | CLIENT_WARN_DEPRECATED("--ssl-verify-server-cert", 36 | "--ssl-mode=VERIFY_IDENTITY"); 37 | if (!opt_ssl_verify_server_cert_arg) 38 | { 39 | if (opt_ssl_mode >= SSL_MODE_VERIFY_IDENTITY) 40 | opt_ssl_mode= SSL_MODE_VERIFY_CA; 41 | } 42 | else 43 | opt_ssl_mode= SSL_MODE_VERIFY_IDENTITY; 44 | break; 45 | case OPT_SSL_CA: 46 | case OPT_SSL_CAPATH: 47 | /* Don't change ssl-mode if set explicitly. */ 48 | if (!ssl_mode_set_explicitly) 49 | opt_ssl_mode= SSL_MODE_VERIFY_CA; 50 | break; 51 | case OPT_SSL_KEY: 52 | case OPT_SSL_CERT: 53 | case OPT_SSL_CIPHER: 54 | case OPT_SSL_CRL: 55 | case OPT_SSL_CRLPATH: 56 | case OPT_TLS_VERSION: 57 | #ifdef HAVE_YASSL 58 | /* crl has no effect in yaSSL. */ 59 | opt_ssl_crl= NULL; 60 | opt_ssl_crlpath= NULL; 61 | #endif /* HAVE_YASSL */ 62 | break; 63 | #endif /* HAVE_OPENSSL */ 64 | -------------------------------------------------------------------------------- /socket服务端/mysql32/include/typelib.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved. 2 | 3 | This program is free software; you can redistribute it and/or modify 4 | it under the terms of the GNU General Public License as published by 5 | the Free Software Foundation; version 2 of the License. 6 | 7 | This program is distributed in the hope that it will be useful, 8 | but WITHOUT ANY WARRANTY; without even the implied warranty of 9 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 10 | GNU General Public License for more details. 11 | 12 | You should have received a copy of the GNU General Public License 13 | along with this program; if not, write to the Free Software 14 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ 15 | 16 | 17 | #ifndef _typelib_h 18 | #define _typelib_h 19 | 20 | #include "my_alloc.h" 21 | 22 | typedef struct st_typelib { /* Different types saved here */ 23 | unsigned int count; /* How many types */ 24 | const char *name; /* Name of typelib */ 25 | const char **type_names; 26 | unsigned int *type_lengths; 27 | } TYPELIB; 28 | 29 | extern my_ulonglong find_typeset(char *x, TYPELIB *typelib,int *error_position); 30 | extern int find_type_or_exit(const char *x, TYPELIB *typelib, 31 | const char *option); 32 | #define FIND_TYPE_BASIC 0 33 | /** makes @c find_type() require the whole name, no prefix */ 34 | #define FIND_TYPE_NO_PREFIX (1 << 0) 35 | /** always implicitely on, so unused, but old code may pass it */ 36 | #define FIND_TYPE_NO_OVERWRITE (1 << 1) 37 | /** makes @c find_type() accept a number */ 38 | #define FIND_TYPE_ALLOW_NUMBER (1 << 2) 39 | /** makes @c find_type() treat ',' as terminator */ 40 | #define FIND_TYPE_COMMA_TERM (1 << 3) 41 | 42 | extern int find_type(const char *x, const TYPELIB *typelib, unsigned int flags); 43 | extern void make_type(char *to,unsigned int nr,TYPELIB *typelib); 44 | extern const char *get_type(TYPELIB *typelib,unsigned int nr); 45 | extern TYPELIB *copy_typelib(MEM_ROOT *root, TYPELIB *from); 46 | 47 | extern TYPELIB sql_protocol_typelib; 48 | 49 | my_ulonglong find_set_from_flags(const TYPELIB *lib, unsigned int default_name, 50 | my_ulonglong cur_set, my_ulonglong default_set, 51 | const char *str, unsigned int length, 52 | char **err_pos, unsigned int *err_len); 53 | 54 | #endif /* _typelib_h */ 55 | -------------------------------------------------------------------------------- /socket服务端/mysql32/lib/libmysql.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/mysql32/lib/libmysql.dll -------------------------------------------------------------------------------- /socket服务端/mysql32/lib/libmysql.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/mysql32/lib/libmysql.lib -------------------------------------------------------------------------------- /socket服务端/mysql64/include/binary_log_types.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2014, 2015 Oracle and/or its affiliates. All rights reserved. 2 | 3 | This program is free software; you can redistribute it and/or modify 4 | it under the terms of the GNU General Public License as published by 5 | the Free Software Foundation; version 2 of the License. 6 | 7 | This program is distributed in the hope that it will be useful, 8 | but WITHOUT ANY WARRANTY; without even the implied warranty of 9 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 10 | GNU General Public License for more details. 11 | 12 | You should have received a copy of the GNU General Public License 13 | along with this program; if not, write to the Free Software 14 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ 15 | 16 | /** 17 | @file binary_log_types.h 18 | 19 | @brief This file contains the field type. 20 | 21 | 22 | @note This file can be imported both from C and C++ code, so the 23 | definitions have to be constructed to support this. 24 | */ 25 | 26 | #ifndef BINARY_LOG_TYPES_INCLUDED 27 | #define BINARY_LOG_TYPES_INCLUDED 28 | 29 | #ifdef __cplusplus 30 | extern "C" 31 | { 32 | #endif 33 | 34 | /* 35 | * Constants exported from this package. 36 | */ 37 | 38 | typedef enum enum_field_types { 39 | MYSQL_TYPE_DECIMAL, MYSQL_TYPE_TINY, 40 | MYSQL_TYPE_SHORT, MYSQL_TYPE_LONG, 41 | MYSQL_TYPE_FLOAT, MYSQL_TYPE_DOUBLE, 42 | MYSQL_TYPE_NULL, MYSQL_TYPE_TIMESTAMP, 43 | MYSQL_TYPE_LONGLONG,MYSQL_TYPE_INT24, 44 | MYSQL_TYPE_DATE, MYSQL_TYPE_TIME, 45 | MYSQL_TYPE_DATETIME, MYSQL_TYPE_YEAR, 46 | MYSQL_TYPE_NEWDATE, MYSQL_TYPE_VARCHAR, 47 | MYSQL_TYPE_BIT, 48 | MYSQL_TYPE_TIMESTAMP2, 49 | MYSQL_TYPE_DATETIME2, 50 | MYSQL_TYPE_TIME2, 51 | MYSQL_TYPE_JSON=245, 52 | MYSQL_TYPE_NEWDECIMAL=246, 53 | MYSQL_TYPE_ENUM=247, 54 | MYSQL_TYPE_SET=248, 55 | MYSQL_TYPE_TINY_BLOB=249, 56 | MYSQL_TYPE_MEDIUM_BLOB=250, 57 | MYSQL_TYPE_LONG_BLOB=251, 58 | MYSQL_TYPE_BLOB=252, 59 | MYSQL_TYPE_VAR_STRING=253, 60 | MYSQL_TYPE_STRING=254, 61 | MYSQL_TYPE_GEOMETRY=255 62 | } enum_field_types; 63 | 64 | #define DATETIME_MAX_DECIMALS 6 65 | 66 | #ifdef __cplusplus 67 | } 68 | #endif // __cplusplus 69 | 70 | #endif /* BINARY_LOG_TYPES_INCLUDED */ 71 | -------------------------------------------------------------------------------- /socket服务端/mysql64/include/byte_order_generic_x86.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2001, 2015, Oracle and/or its affiliates. All rights reserved. 2 | 3 | This program is free software; you can redistribute it and/or modify 4 | it under the terms of the GNU General Public License as published by 5 | the Free Software Foundation; version 2 of the License. 6 | 7 | This program is distributed in the hope that it will be useful, 8 | but WITHOUT ANY WARRANTY; without even the implied warranty of 9 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 10 | GNU General Public License for more details. 11 | 12 | You should have received a copy of the GNU General Public License 13 | along with this program; if not, write to the Free Software 14 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ 15 | 16 | /* 17 | Optimized functions for the x86 architecture (_WIN32 included). 18 | 19 | x86 handles misaligned reads and writes just fine, so suppress 20 | UBSAN warnings for these functions. 21 | */ 22 | static inline int16 sint2korr(const uchar *A) SUPPRESS_UBSAN; 23 | static inline int16 sint2korr(const uchar *A) { return *((int16*) A); } 24 | 25 | static inline int32 sint4korr(const uchar *A) SUPPRESS_UBSAN; 26 | static inline int32 sint4korr(const uchar *A) { return *((int32*) A); } 27 | 28 | static inline uint16 uint2korr(const uchar *A) SUPPRESS_UBSAN; 29 | static inline uint16 uint2korr(const uchar *A) { return *((uint16*) A); } 30 | 31 | static inline uint32 uint4korr(const uchar *A) SUPPRESS_UBSAN; 32 | static inline uint32 uint4korr(const uchar *A) { return *((uint32*) A); } 33 | 34 | static inline ulonglong uint8korr(const uchar *A) SUPPRESS_UBSAN; 35 | static inline ulonglong uint8korr(const uchar *A) { return *((ulonglong*) A);} 36 | 37 | static inline longlong sint8korr(const uchar *A) SUPPRESS_UBSAN; 38 | static inline longlong sint8korr(const uchar *A) { return *((longlong*) A); } 39 | 40 | static inline void int2store(uchar *T, uint16 A) SUPPRESS_UBSAN; 41 | static inline void int2store(uchar *T, uint16 A) 42 | { 43 | *((uint16*) T)= A; 44 | } 45 | 46 | static inline void int4store(uchar *T, uint32 A) SUPPRESS_UBSAN; 47 | static inline void int4store(uchar *T, uint32 A) 48 | { 49 | *((uint32*) T)= A; 50 | } 51 | 52 | static inline void int8store(uchar *T, ulonglong A) SUPPRESS_UBSAN; 53 | static inline void int8store(uchar *T, ulonglong A) 54 | { 55 | *((ulonglong*) T)= A; 56 | } 57 | -------------------------------------------------------------------------------- /socket服务端/mysql64/include/my_alloc.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. 2 | 3 | This program is free software; you can redistribute it and/or modify 4 | it under the terms of the GNU General Public License as published by 5 | the Free Software Foundation; version 2 of the License. 6 | 7 | This program is distributed in the hope that it will be useful, 8 | but WITHOUT ANY WARRANTY; without even the implied warranty of 9 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 10 | GNU General Public License for more details. 11 | 12 | You should have received a copy of the GNU General Public License 13 | along with this program; if not, write to the Free Software 14 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ 15 | 16 | /* 17 | Data structures for mysys/my_alloc.c (root memory allocator) 18 | */ 19 | 20 | #ifndef _my_alloc_h 21 | #define _my_alloc_h 22 | 23 | #define ALLOC_MAX_BLOCK_TO_DROP 4096 24 | #define ALLOC_MAX_BLOCK_USAGE_BEFORE_DROP 10 25 | 26 | /* PSI_memory_key */ 27 | #include "mysql/psi/psi_memory.h" 28 | 29 | #ifdef __cplusplus 30 | extern "C" { 31 | #endif 32 | 33 | typedef struct st_used_mem 34 | { /* struct for once_alloc (block) */ 35 | struct st_used_mem *next; /* Next block in use */ 36 | unsigned int left; /* memory left in block */ 37 | unsigned int size; /* size of block */ 38 | } USED_MEM; 39 | 40 | 41 | typedef struct st_mem_root 42 | { 43 | USED_MEM *free; /* blocks with free memory in it */ 44 | USED_MEM *used; /* blocks almost without free memory */ 45 | USED_MEM *pre_alloc; /* preallocated block */ 46 | /* if block have less memory it will be put in 'used' list */ 47 | size_t min_malloc; 48 | size_t block_size; /* initial block size */ 49 | unsigned int block_num; /* allocated blocks counter */ 50 | /* 51 | first free block in queue test counter (if it exceed 52 | MAX_BLOCK_USAGE_BEFORE_DROP block will be dropped in 'used' list) 53 | */ 54 | unsigned int first_block_usage; 55 | 56 | /* 57 | Maximum amount of memory this mem_root can hold. A value of 0 58 | implies there is no limit. 59 | */ 60 | size_t max_capacity; 61 | 62 | /* Allocated size for this mem_root */ 63 | 64 | size_t allocated_size; 65 | 66 | /* Enable this for error reporting if capacity is exceeded */ 67 | my_bool error_for_capacity_exceeded; 68 | 69 | void (*error_handler)(void); 70 | 71 | PSI_memory_key m_psi_key; 72 | } MEM_ROOT; 73 | 74 | #ifdef __cplusplus 75 | } 76 | #endif 77 | 78 | #endif 79 | -------------------------------------------------------------------------------- /socket服务端/mysql64/include/my_command.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. 2 | 3 | This program is free software; you can redistribute it and/or modify 4 | it under the terms of the GNU General Public License as published by 5 | the Free Software Foundation; version 2 of the License. 6 | 7 | This program is distributed in the hope that it will be useful, 8 | but WITHOUT ANY WARRANTY; without even the implied warranty of 9 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 10 | GNU General Public License for more details. 11 | 12 | You should have received a copy of the GNU General Public License 13 | along with this program; if not, write to the Free Software 14 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ 15 | 16 | #ifndef _mysql_command_h 17 | #define _mysql_command_h 18 | 19 | /** 20 | @enum enum_server_command 21 | @brief You should add new commands to the end of this list, otherwise old 22 | servers won't be able to handle them as 'unsupported'. 23 | */ 24 | enum enum_server_command 25 | { 26 | COM_SLEEP, 27 | COM_QUIT, 28 | COM_INIT_DB, 29 | COM_QUERY, 30 | COM_FIELD_LIST, 31 | COM_CREATE_DB, 32 | COM_DROP_DB, 33 | COM_REFRESH, 34 | COM_SHUTDOWN, 35 | COM_STATISTICS, 36 | COM_PROCESS_INFO, 37 | COM_CONNECT, 38 | COM_PROCESS_KILL, 39 | COM_DEBUG, 40 | COM_PING, 41 | COM_TIME, 42 | COM_DELAYED_INSERT, 43 | COM_CHANGE_USER, 44 | COM_BINLOG_DUMP, 45 | COM_TABLE_DUMP, 46 | COM_CONNECT_OUT, 47 | COM_REGISTER_SLAVE, 48 | COM_STMT_PREPARE, 49 | COM_STMT_EXECUTE, 50 | COM_STMT_SEND_LONG_DATA, 51 | COM_STMT_CLOSE, 52 | COM_STMT_RESET, 53 | COM_SET_OPTION, 54 | COM_STMT_FETCH, 55 | COM_DAEMON, 56 | COM_BINLOG_DUMP_GTID, 57 | COM_RESET_CONNECTION, 58 | /* don't forget to update const char *command_name[] in sql_parse.cc */ 59 | 60 | /* Must be last */ 61 | COM_END 62 | }; 63 | 64 | #endif /* _mysql_command_h */ 65 | -------------------------------------------------------------------------------- /socket服务端/mysql64/include/my_list.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved. 2 | 3 | This program is free software; you can redistribute it and/or modify 4 | it under the terms of the GNU General Public License as published by 5 | the Free Software Foundation; version 2 of the License. 6 | 7 | This program is distributed in the hope that it will be useful, 8 | but WITHOUT ANY WARRANTY; without even the implied warranty of 9 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 10 | GNU General Public License for more details. 11 | 12 | You should have received a copy of the GNU General Public License 13 | along with this program; if not, write to the Free Software 14 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ 15 | 16 | #ifndef _list_h_ 17 | #define _list_h_ 18 | 19 | #ifdef __cplusplus 20 | extern "C" { 21 | #endif 22 | 23 | typedef struct st_list { 24 | struct st_list *prev,*next; 25 | void *data; 26 | } LIST; 27 | 28 | typedef int (*list_walk_action)(void *,void *); 29 | 30 | extern LIST *list_add(LIST *root,LIST *element); 31 | extern LIST *list_delete(LIST *root,LIST *element); 32 | extern LIST *list_cons(void *data,LIST *root); 33 | extern LIST *list_reverse(LIST *root); 34 | extern void list_free(LIST *root,unsigned int free_data); 35 | extern unsigned int list_length(LIST *); 36 | extern int list_walk(LIST *,list_walk_action action,unsigned char * argument); 37 | 38 | #define list_rest(a) ((a)->next) 39 | #define list_push(a,b) (a)=list_cons((b),(a)) 40 | #define list_pop(A) {LIST *old=(A); (A)=list_delete(old,old); my_free(old); } 41 | 42 | #ifdef __cplusplus 43 | } 44 | #endif 45 | #endif 46 | -------------------------------------------------------------------------------- /socket服务端/mysql64/include/mysql/client_authentication.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved. 2 | 3 | This program is free software; you can redistribute it and/or modify 4 | it under the terms of the GNU General Public License as published by 5 | the Free Software Foundation; version 2 of the License. 6 | 7 | This program is distributed in the hope that it will be useful, 8 | but WITHOUT ANY WARRANTY; without even the implied warranty of 9 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 10 | GNU General Public License for more details. 11 | 12 | You should have received a copy of the GNU General Public License 13 | along with this program; if not, write to the Free Software 14 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ 15 | #ifndef CLIENT_AUTHENTICATION_H 16 | #define CLIENT_AUTHENTICATION_H 17 | #include 18 | #include "mysql.h" 19 | #include "mysql/client_plugin.h" 20 | 21 | C_MODE_START 22 | int sha256_password_auth_client(MYSQL_PLUGIN_VIO *vio, MYSQL *mysql); 23 | int sha256_password_init(char *, size_t, int, va_list); 24 | int sha256_password_deinit(void); 25 | C_MODE_END 26 | 27 | #endif 28 | 29 | -------------------------------------------------------------------------------- /socket服务端/mysql64/include/mysql/client_plugin.h.pp: -------------------------------------------------------------------------------- 1 | struct st_mysql_client_plugin 2 | { 3 | int type; unsigned int interface_version; const char *name; const char *author; const char *desc; unsigned int version[3]; const char *license; void *mysql_api; int (*init)(char *, size_t, int, va_list); int (*deinit)(void); int (*options)(const char *option, const void *); 4 | }; 5 | struct st_mysql; 6 | #include "plugin_auth_common.h" 7 | typedef struct st_plugin_vio_info 8 | { 9 | enum { MYSQL_VIO_INVALID, MYSQL_VIO_TCP, MYSQL_VIO_SOCKET, 10 | MYSQL_VIO_PIPE, MYSQL_VIO_MEMORY } protocol; 11 | int socket; 12 | } MYSQL_PLUGIN_VIO_INFO; 13 | typedef struct st_plugin_vio 14 | { 15 | int (*read_packet)(struct st_plugin_vio *vio, 16 | unsigned char **buf); 17 | int (*write_packet)(struct st_plugin_vio *vio, 18 | const unsigned char *packet, 19 | int packet_len); 20 | void (*info)(struct st_plugin_vio *vio, struct st_plugin_vio_info *info); 21 | } MYSQL_PLUGIN_VIO; 22 | struct st_mysql_client_plugin_AUTHENTICATION 23 | { 24 | int type; unsigned int interface_version; const char *name; const char *author; const char *desc; unsigned int version[3]; const char *license; void *mysql_api; int (*init)(char *, size_t, int, va_list); int (*deinit)(void); int (*options)(const char *option, const void *); 25 | int (*authenticate_user)(MYSQL_PLUGIN_VIO *vio, struct st_mysql *mysql); 26 | }; 27 | struct st_mysql_client_plugin * 28 | mysql_load_plugin(struct st_mysql *mysql, const char *name, int type, 29 | int argc, ...); 30 | struct st_mysql_client_plugin * 31 | mysql_load_plugin_v(struct st_mysql *mysql, const char *name, int type, 32 | int argc, va_list args); 33 | struct st_mysql_client_plugin * 34 | mysql_client_find_plugin(struct st_mysql *mysql, const char *name, int type); 35 | struct st_mysql_client_plugin * 36 | mysql_client_register_plugin(struct st_mysql *mysql, 37 | struct st_mysql_client_plugin *plugin); 38 | int mysql_plugin_options(struct st_mysql_client_plugin *plugin, 39 | const char *option, const void *value); 40 | -------------------------------------------------------------------------------- /socket服务端/mysql64/include/mysql/get_password.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved. 2 | 3 | This program is free software; you can redistribute it and/or modify 4 | it under the terms of the GNU General Public License as published by 5 | the Free Software Foundation; version 2 of the License. 6 | 7 | This program is distributed in the hope that it will be useful, 8 | but WITHOUT ANY WARRANTY; without even the implied warranty of 9 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 10 | GNU General Public License for more details. 11 | 12 | You should have received a copy of the GNU General Public License 13 | along with this program; if not, write to the Free Software 14 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ 15 | 16 | /* 17 | ** Ask for a password from tty 18 | ** This is an own file to avoid conflicts with curses 19 | */ 20 | 21 | #ifndef MYSQL_GET_PASSWORD_H_INCLUDED 22 | #define MYSQL_GET_PASSWORD_H_INCLUDED 23 | 24 | #ifdef __cplusplus 25 | extern "C" { 26 | #endif 27 | 28 | typedef char *(* strdup_handler_t)(const char *, int); 29 | char *get_tty_password_ext(const char *opt_message, 30 | strdup_handler_t strdup_function); 31 | 32 | #ifdef __cplusplus 33 | } 34 | #endif 35 | 36 | #endif /* ! MYSQL_GET_PASSWORD_H_INCLUDED */ 37 | -------------------------------------------------------------------------------- /socket服务端/mysql64/include/mysql/innodb_priv.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. 2 | 3 | This program is free software; you can redistribute it and/or modify 4 | it under the terms of the GNU General Public License as published by 5 | the Free Software Foundation; version 2 of the License. 6 | 7 | This program is distributed in the hope that it will be useful, 8 | but WITHOUT ANY WARRANTY; without even the implied warranty of 9 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 10 | GNU General Public License for more details. 11 | 12 | You should have received a copy of the GNU General Public License 13 | along with this program; if not, write to the Free Software 14 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ 15 | 16 | #ifndef INNODB_PRIV_INCLUDED 17 | #define INNODB_PRIV_INCLUDED 18 | 19 | /** @file Declaring server-internal functions that are used by InnoDB. */ 20 | 21 | class THD; 22 | 23 | int get_quote_char_for_identifier(THD *thd, const char *name, size_t length); 24 | bool schema_table_store_record(THD *thd, TABLE *table); 25 | void localtime_to_TIME(MYSQL_TIME *to, struct tm *from); 26 | bool check_global_access(THD *thd, ulong want_access); 27 | size_t strconvert(CHARSET_INFO *from_cs, const char *from, 28 | CHARSET_INFO *to_cs, char *to, size_t to_length, 29 | uint *errors); 30 | void sql_print_error(const char *format, ...); 31 | 32 | /** 33 | Store record to I_S table, convert HEAP table to InnoDB table if necessary. 34 | 35 | @param[in] thd thread handler 36 | @param[in] table Information schema table to be updated 37 | @param[in] make_ondisk if true, convert heap table to on disk table. 38 | default value is true. 39 | @return 0 on success 40 | @return error code on failure. 41 | */ 42 | int schema_table_store_record2(THD *thd, TABLE *table, bool make_ondisk); 43 | 44 | /** 45 | Convert HEAP table to InnoDB table if necessary 46 | 47 | @param[in] thd thread handler 48 | @param[in] table Information schema table to be converted. 49 | @param[in] error the error code returned previously. 50 | @return false on success, true on error. 51 | */ 52 | bool convert_heap_table_to_ondisk(THD *thd, TABLE *table, int error); 53 | 54 | 55 | #endif /* INNODB_PRIV_INCLUDED */ 56 | -------------------------------------------------------------------------------- /socket服务端/mysql64/include/mysql/mysql_lex_string.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. 2 | 3 | This program is free software; you can redistribute it and/or modify 4 | it under the terms of the GNU General Public License as published by 5 | the Free Software Foundation; version 2 of the License. 6 | 7 | This program is distributed in the hope that it will be useful, 8 | but WITHOUT ANY WARRANTY; without even the implied warranty of 9 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 10 | GNU General Public License for more details. 11 | 12 | You should have received a copy of the GNU General Public License 13 | along with this program; if not, write to the Free Software 14 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ 15 | 16 | #ifndef MYSQL_LEX_STRING_INCLUDED 17 | #define MYSQL_LEX_STRING_INCLUDED 18 | 19 | struct st_mysql_lex_string 20 | { 21 | char *str; 22 | size_t length; 23 | }; 24 | typedef struct st_mysql_lex_string MYSQL_LEX_STRING; 25 | 26 | struct st_mysql_const_lex_string 27 | { 28 | const char *str; 29 | size_t length; 30 | }; 31 | typedef struct st_mysql_const_lex_string MYSQL_LEX_CSTRING; 32 | 33 | #endif // MYSQL_LEX_STRING_INCLUDED 34 | -------------------------------------------------------------------------------- /socket服务端/mysql64/include/mysql/plugin_validate_password.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved. 2 | 3 | This program is free software; you can redistribute it and/or modify 4 | it under the terms of the GNU General Public License as published by 5 | the Free Software Foundation; version 2 of the License. 6 | 7 | This program is distributed in the hope that it will be useful, 8 | but WITHOUT ANY WARRANTY; without even the implied warranty of 9 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 10 | GNU General Public License for more details. 11 | 12 | You should have received a copy of the GNU General Public License 13 | along with this program; if not, write to the Free Software 14 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ 15 | 16 | #ifndef MYSQL_PLUGIN_VALIDATE_PASSWORD_INCLUDED 17 | #define MYSQL_PLUGIN_VALIDATE_PASSWORD_INCLUDED 18 | 19 | /* API for validate_password plugin. (MYSQL_VALIDATE_PASSWORD_PLUGIN) */ 20 | 21 | #include 22 | #define MYSQL_VALIDATE_PASSWORD_INTERFACE_VERSION 0x0100 23 | 24 | /* 25 | The descriptor structure for the plugin, that is referred from 26 | st_mysql_plugin. 27 | */ 28 | 29 | typedef void* mysql_string_handle; 30 | 31 | struct st_mysql_validate_password 32 | { 33 | int interface_version; 34 | /* 35 | This function retuns TRUE for passwords which satisfy the password 36 | policy (as choosen by plugin variable) and FALSE for all other 37 | password 38 | */ 39 | int (*validate_password)(mysql_string_handle password); 40 | /* 41 | This function returns the password strength (0-100) depending 42 | upon the policies 43 | */ 44 | int (*get_password_strength)(mysql_string_handle password); 45 | }; 46 | #endif 47 | -------------------------------------------------------------------------------- /socket服务端/mysql64/include/mysql/psi/mysql_memory.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2012, 2016, Oracle and/or its affiliates. All rights reserved. 2 | 3 | This program is free software; you can redistribute it and/or modify 4 | it under the terms of the GNU General Public License as published by 5 | the Free Software Foundation; version 2 of the License. 6 | 7 | This program is distributed in the hope that it will be useful, 8 | but WITHOUT ANY WARRANTY; without even the implied warranty of 9 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 10 | GNU General Public License for more details. 11 | 12 | You should have received a copy of the GNU General Public License 13 | along with this program; if not, write to the Free Software Foundation, 14 | 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */ 15 | 16 | #ifndef MYSQL_MEMORY_H 17 | #define MYSQL_MEMORY_H 18 | 19 | /** 20 | @file mysql/psi/mysql_memory.h 21 | Instrumentation helpers for memory allocation. 22 | */ 23 | 24 | #include "mysql/psi/psi.h" 25 | 26 | #ifndef PSI_MEMORY_CALL 27 | #define PSI_MEMORY_CALL(M) PSI_DYNAMIC_CALL(M) 28 | #endif 29 | 30 | /** 31 | @defgroup Memory_instrumentation Memory Instrumentation 32 | @ingroup Instrumentation_interface 33 | @{ 34 | */ 35 | 36 | /** 37 | @def mysql_memory_register(P1, P2, P3) 38 | Memory registration. 39 | */ 40 | #define mysql_memory_register(P1, P2, P3) \ 41 | inline_mysql_memory_register(P1, P2, P3) 42 | 43 | static inline void inline_mysql_memory_register( 44 | #ifdef HAVE_PSI_MEMORY_INTERFACE 45 | const char *category, 46 | PSI_memory_info *info, 47 | int count) 48 | #else 49 | const char *category MY_ATTRIBUTE((unused)), 50 | void *info MY_ATTRIBUTE((unused)), 51 | int count MY_ATTRIBUTE((unused))) 52 | #endif 53 | { 54 | #ifdef HAVE_PSI_MEMORY_INTERFACE 55 | PSI_MEMORY_CALL(register_memory)(category, info, count); 56 | #endif 57 | } 58 | 59 | /** @} (end of group Memory_instrumentation) */ 60 | 61 | #endif 62 | 63 | -------------------------------------------------------------------------------- /socket服务端/mysql64/include/mysql/service_my_plugin_log.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved. 2 | 3 | This program is free software; you can redistribute it and/or 4 | modify it under the terms of the GNU General Public License as 5 | published by the Free Software Foundation; version 2 of the 6 | License. 7 | 8 | This program is distributed in the hope that it will be useful, 9 | but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | GNU General Public License for more details. 12 | 13 | You should have received a copy of the GNU General Public License 14 | along with this program; if not, write to the Free Software 15 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ 16 | 17 | /** 18 | @file 19 | This service provides functions to report error conditions and log to 20 | mysql error log. 21 | */ 22 | 23 | #ifndef MYSQL_SERVICE_MY_PLUGIN_LOG_INCLUDED 24 | #define MYSQL_SERVICE_MY_PLUGIN_LOG_INCLUDED 25 | 26 | #ifndef MYSQL_ABI_CHECK 27 | #include 28 | #endif 29 | 30 | /* keep in sync with the loglevel enum in my_sys.h */ 31 | enum plugin_log_level 32 | { 33 | MY_ERROR_LEVEL, 34 | MY_WARNING_LEVEL, 35 | MY_INFORMATION_LEVEL 36 | }; 37 | 38 | 39 | #ifdef __cplusplus 40 | extern "C" { 41 | #endif 42 | 43 | extern struct my_plugin_log_service 44 | { 45 | /** write a message to the log */ 46 | int (*my_plugin_log_message)(MYSQL_PLUGIN *, enum plugin_log_level, const char *, ...); 47 | } *my_plugin_log_service; 48 | 49 | #ifdef MYSQL_DYNAMIC_PLUGIN 50 | 51 | #define my_plugin_log_message my_plugin_log_service->my_plugin_log_message 52 | 53 | #else 54 | 55 | int my_plugin_log_message(MYSQL_PLUGIN *plugin, enum plugin_log_level level, 56 | const char *format, ...); 57 | 58 | #endif 59 | 60 | #ifdef __cplusplus 61 | } 62 | #endif 63 | 64 | #endif 65 | -------------------------------------------------------------------------------- /socket服务端/mysql64/include/mysql/service_mysql_keyring.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2014, 2016 Oracle and/or its affiliates. All rights reserved. 2 | 3 | This program is free software; you can redistribute it and/or modify 4 | it under the terms of the GNU General Public License as published by 5 | the Free Software Foundation; version 2 of the License. 6 | 7 | This program is distributed in the hope that it will be useful, 8 | but WITHOUT ANY WARRANTY; without even the implied warranty of 9 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 10 | GNU General Public License for more details. 11 | 12 | You should have received a copy of the GNU General Public License 13 | along with this program; if not, write to the Free Software 14 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ 15 | 16 | #ifndef MYSQL_SERVICE_MYSQL_PLUGIN_KEYRING_INCLUDED 17 | #define MYSQL_SERVICE_MYSQL_PLUGIN_KEYRING_INCLUDED 18 | 19 | #ifdef __cplusplus 20 | extern "C" { 21 | #endif 22 | 23 | extern struct mysql_keyring_service_st 24 | { 25 | int (*my_key_store_func)(const char *, const char *, const char *, 26 | const void *, size_t); 27 | int (*my_key_fetch_func)(const char *, char **, const char *, void **, 28 | size_t *); 29 | int (*my_key_remove_func)(const char *, const char *); 30 | int (*my_key_generate_func)(const char *, const char *, const char *, 31 | size_t); 32 | } *mysql_keyring_service; 33 | 34 | #ifdef MYSQL_DYNAMIC_PLUGIN 35 | 36 | #define my_key_store(key_id, key_type, user_id, key, key_len) \ 37 | mysql_keyring_service->my_key_store_func(key_id, key_type, user_id, key, \ 38 | key_len) 39 | #define my_key_fetch(key_id, key_type, user_id, key, key_len) \ 40 | mysql_keyring_service->my_key_fetch_func(key_id, key_type, user_id, key, \ 41 | key_len) 42 | #define my_key_remove(key_id, user_id) \ 43 | mysql_keyring_service->my_key_remove_func(key_id, user_id) 44 | #define my_key_generate(key_id, key_type, user_id, key_len) \ 45 | mysql_keyring_service->my_key_generate_func(key_id, key_type, user_id, \ 46 | key_len) 47 | #else 48 | 49 | int my_key_store(const char *, const char *, const char *, const void *, size_t); 50 | int my_key_fetch(const char *, char **, const char *, void **, 51 | size_t *); 52 | int my_key_remove(const char *, const char *); 53 | int my_key_generate(const char *, const char *, const char *, size_t); 54 | 55 | #endif 56 | 57 | #ifdef __cplusplus 58 | } 59 | #endif 60 | 61 | #endif //MYSQL_SERVICE_MYSQL_PLUGIN_KEYRING_INCLUDED 62 | 63 | -------------------------------------------------------------------------------- /socket服务端/mysql64/include/mysql/service_thd_engine_lock.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. 2 | 3 | This program is free software; you can redistribute it and/or modify 4 | it under the terms of the GNU General Public License as published by 5 | the Free Software Foundation; version 2 of the License. 6 | 7 | This program is distributed in the hope that it will be useful, 8 | but WITHOUT ANY WARRANTY; without even the implied warranty of 9 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 10 | GNU General Public License for more details. 11 | 12 | You should have received a copy of the GNU General Public License 13 | along with this program; if not, write to the Free Software 14 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ 15 | 16 | #ifndef MYSQL_SERVICE_THD_EGINE_LOCK_INCLUDED 17 | #define MYSQL_SERVICE_THD_EGINE_LOCK_INCLUDED 18 | 19 | /** 20 | @file include/mysql/service_thd_engine_lock.h 21 | This service provides functions for storage engines to report 22 | lock related activities. 23 | 24 | SYNOPSIS 25 | thd_row_lock_wait() - call it just when the engine find a transaction should wait 26 | another transaction to realease a row lock 27 | thd The session which is waiting for the row lock to release. 28 | thd_wait_for The session which is holding the row lock. 29 | */ 30 | 31 | #ifdef __cplusplus 32 | class THD; 33 | #else 34 | #define THD void 35 | #endif 36 | 37 | #ifdef __cplusplus 38 | extern "C" { 39 | #endif 40 | 41 | void thd_report_row_lock_wait(THD* self, THD *wait_for); 42 | 43 | #ifdef __cplusplus 44 | } 45 | #endif 46 | 47 | #endif 48 | -------------------------------------------------------------------------------- /socket服务端/mysql64/include/mysql/services.h: -------------------------------------------------------------------------------- 1 | #ifndef MYSQL_SERVICES_INCLUDED 2 | /* Copyright (c) 2009, 2016, Oracle and/or its affiliates. All rights reserved. 3 | 4 | This program is free software; you can redistribute it and/or modify 5 | it under the terms of the GNU General Public License as published by 6 | the Free Software Foundation; version 2 of the License. 7 | 8 | This program is distributed in the hope that it will be useful, 9 | but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | GNU General Public License for more details. 12 | 13 | You should have received a copy of the GNU General Public License 14 | along with this program; if not, write to the Free Software 15 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ 16 | 17 | 18 | /* 19 | Out of extern because of inclusion of files which include my_compiler.h 20 | which in turn complains about C-linkage of templates. 21 | service_srv_session.h and service_command.h use proper extern "C" for 22 | their exported symbols. 23 | */ 24 | #ifndef EMBEDDED_LIBRARY 25 | #include 26 | #include 27 | #include 28 | #endif 29 | 30 | 31 | #ifdef __cplusplus 32 | extern "C" { 33 | #endif 34 | 35 | #include 36 | #include 37 | #include 38 | #include 39 | #include 40 | #include 41 | #include 42 | #include 43 | #include 44 | #include 45 | #include 46 | #include 47 | #include 48 | #include 49 | 50 | #ifdef __cplusplus 51 | } 52 | #endif 53 | 54 | #ifdef __cplusplus 55 | #include 56 | #endif 57 | 58 | #define MYSQL_SERVICES_INCLUDED 59 | #endif /* MYSQL_SERVICES_INCLUDED */ 60 | -------------------------------------------------------------------------------- /socket服务端/mysql64/include/mysql/thread_type.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. 2 | 3 | This program is free software; you can redistribute it and/or modify 4 | it under the terms of the GNU General Public License as published by 5 | the Free Software Foundation; version 2 of the License. 6 | 7 | This program is distributed in the hope that it will be useful, 8 | but WITHOUT ANY WARRANTY; without even the implied warranty of 9 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 10 | GNU General Public License for more details. 11 | 12 | You should have received a copy of the GNU General Public License 13 | along with this program; if not, write to the Free Software 14 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ 15 | 16 | /* Defines to make different thread packages compatible */ 17 | 18 | #ifndef THREAD_TYPE_INCLUDED 19 | #define THREAD_TYPE_INCLUDED 20 | 21 | #ifdef __cplusplus 22 | extern "C"{ 23 | #endif 24 | 25 | /* Flags for the THD::system_thread variable */ 26 | enum enum_thread_type 27 | { 28 | NON_SYSTEM_THREAD= 0, 29 | SYSTEM_THREAD_SLAVE_IO= 1, 30 | SYSTEM_THREAD_SLAVE_SQL= 2, 31 | SYSTEM_THREAD_NDBCLUSTER_BINLOG= 4, 32 | SYSTEM_THREAD_EVENT_SCHEDULER= 8, 33 | SYSTEM_THREAD_EVENT_WORKER= 16, 34 | SYSTEM_THREAD_INFO_REPOSITORY= 32, 35 | SYSTEM_THREAD_SLAVE_WORKER= 64, 36 | SYSTEM_THREAD_COMPRESS_GTID_TABLE= 128, 37 | SYSTEM_THREAD_BACKGROUND= 256 38 | }; 39 | 40 | #ifdef __cplusplus 41 | } 42 | #endif 43 | 44 | #endif /* THREAD_TYPE_INCLUDED */ 45 | -------------------------------------------------------------------------------- /socket服务端/mysql64/include/mysql_com_server.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved. 2 | 3 | This program is free software; you can redistribute it and/or modify 4 | it under the terms of the GNU General Public License as published by 5 | the Free Software Foundation; version 2 of the License. 6 | 7 | This program is distributed in the hope that it will be useful, 8 | but WITHOUT ANY WARRANTY; without even the implied warranty of 9 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 10 | GNU General Public License for more details. 11 | 12 | You should have received a copy of the GNU General Public License 13 | along with this program; if not, write to the Free Software 14 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ 15 | 16 | /* 17 | Definitions private to the server, 18 | used in the networking layer to notify specific events. 19 | */ 20 | 21 | #ifndef _mysql_com_server_h 22 | #define _mysql_com_server_h 23 | 24 | struct st_net_server; 25 | 26 | typedef void (*before_header_callback_fn) 27 | (struct st_net *net, void *user_data, size_t count); 28 | 29 | typedef void (*after_header_callback_fn) 30 | (struct st_net *net, void *user_data, size_t count, my_bool rc); 31 | 32 | struct st_net_server 33 | { 34 | before_header_callback_fn m_before_header; 35 | after_header_callback_fn m_after_header; 36 | void *m_user_data; 37 | }; 38 | 39 | typedef struct st_net_server NET_SERVER; 40 | 41 | #endif 42 | -------------------------------------------------------------------------------- /socket服务端/mysql64/include/mysql_embed.h: -------------------------------------------------------------------------------- 1 | #ifndef MYSQL_EMBED_INCLUDED 2 | #define MYSQL_EMBED_INCLUDED 3 | 4 | /* Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. 5 | 6 | This program is free software; you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation; version 2 of the License. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ 18 | 19 | /* Defines that are unique to the embedded version of MySQL */ 20 | 21 | #ifdef EMBEDDED_LIBRARY 22 | 23 | /* Things we don't need in the embedded version of MySQL */ 24 | /* TODO HF add #undef HAVE_VIO if we don't want client in embedded library */ 25 | 26 | #undef HAVE_DLOPEN /* No udf functions */ 27 | 28 | #endif /* EMBEDDED_LIBRARY */ 29 | #endif /* MYSQL_EMBED_INCLUDED */ 30 | -------------------------------------------------------------------------------- /socket服务端/mysql64/include/mysql_time.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved. 2 | 3 | This program is free software; you can redistribute it and/or modify 4 | it under the terms of the GNU General Public License as published by 5 | the Free Software Foundation; version 2 of the License. 6 | 7 | This program is distributed in the hope that it will be useful, 8 | but WITHOUT ANY WARRANTY; without even the implied warranty of 9 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 10 | GNU General Public License for more details. 11 | 12 | You should have received a copy of the GNU General Public License 13 | along with this program; if not, write to the Free Software 14 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ 15 | 16 | #ifndef _mysql_time_h_ 17 | #define _mysql_time_h_ 18 | 19 | /* 20 | Time declarations shared between the server and client API: 21 | you should not add anything to this header unless it's used 22 | (and hence should be visible) in mysql.h. 23 | If you're looking for a place to add new time-related declaration, 24 | it's most likely my_time.h. See also "C API Handling of Date 25 | and Time Values" chapter in documentation. 26 | */ 27 | 28 | enum enum_mysql_timestamp_type 29 | { 30 | MYSQL_TIMESTAMP_NONE= -2, MYSQL_TIMESTAMP_ERROR= -1, 31 | MYSQL_TIMESTAMP_DATE= 0, MYSQL_TIMESTAMP_DATETIME= 1, MYSQL_TIMESTAMP_TIME= 2 32 | }; 33 | 34 | 35 | /* 36 | Structure which is used to represent datetime values inside MySQL. 37 | 38 | We assume that values in this structure are normalized, i.e. year <= 9999, 39 | month <= 12, day <= 31, hour <= 23, hour <= 59, hour <= 59. Many functions 40 | in server such as my_system_gmt_sec() or make_time() family of functions 41 | rely on this (actually now usage of make_*() family relies on a bit weaker 42 | restriction). Also functions that produce MYSQL_TIME as result ensure this. 43 | There is one exception to this rule though if this structure holds time 44 | value (time_type == MYSQL_TIMESTAMP_TIME) days and hour member can hold 45 | bigger values. 46 | */ 47 | typedef struct st_mysql_time 48 | { 49 | unsigned int year, month, day, hour, minute, second; 50 | unsigned long second_part; /**< microseconds */ 51 | my_bool neg; 52 | enum enum_mysql_timestamp_type time_type; 53 | } MYSQL_TIME; 54 | 55 | #endif /* _mysql_time_h_ */ 56 | -------------------------------------------------------------------------------- /socket服务端/mysql64/include/mysql_version.h: -------------------------------------------------------------------------------- 1 | /* Copyright Abandoned 1996,1999 TCX DataKonsult AB & Monty Program KB 2 | & Detron HB, 1996, 1999-2004, 2007 MySQL AB. 3 | This file is public domain and comes with NO WARRANTY of any kind 4 | */ 5 | 6 | /* Version numbers for protocol & mysqld */ 7 | 8 | #ifndef _mysql_version_h 9 | #define _mysql_version_h 10 | 11 | #define PROTOCOL_VERSION 10 12 | #define MYSQL_SERVER_VERSION "5.7.17" 13 | #define MYSQL_BASE_VERSION "mysqld-5.7" 14 | #define MYSQL_SERVER_SUFFIX_DEF "" 15 | #define FRM_VER 6 16 | #define MYSQL_VERSION_ID 50717 17 | #define MYSQL_PORT 3306 18 | #define MYSQL_PORT_DEFAULT 0 19 | #define MYSQL_UNIX_ADDR "/tmp/mysql.sock" 20 | #define MYSQL_CONFIG_NAME "my" 21 | #define MYSQL_COMPILATION_COMMENT "MySQL Community Server (GPL)" 22 | #define LIBMYSQL_VERSION "5.7.17" 23 | #define LIBMYSQL_VERSION_ID 50717 24 | #define SYS_SCHEMA_VERSION "1.5.1" 25 | 26 | #ifndef LICENSE 27 | #define LICENSE GPL 28 | #endif /* LICENSE */ 29 | 30 | #endif /* _mysql_version_h */ 31 | -------------------------------------------------------------------------------- /socket服务端/mysql64/include/plugin_validate_password.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved. 2 | 3 | This program is free software; you can redistribute it and/or modify 4 | it under the terms of the GNU General Public License as published by 5 | the Free Software Foundation; version 2 of the License. 6 | 7 | This program is distributed in the hope that it will be useful, 8 | but WITHOUT ANY WARRANTY; without even the implied warranty of 9 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 10 | GNU General Public License for more details. 11 | 12 | You should have received a copy of the GNU General Public License 13 | along with this program; if not, write to the Free Software 14 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ 15 | 16 | #ifndef MYSQL_PLUGIN_VALIDATE_PASSWORD_INCLUDED 17 | #define MYSQL_PLUGIN_VALIDATE_PASSWORD_INCLUDED 18 | 19 | /* API for validate_password plugin. (MYSQL_VALIDATE_PASSWORD_PLUGIN) */ 20 | 21 | #include 22 | #define MYSQL_VALIDATE_PASSWORD_INTERFACE_VERSION 0x0100 23 | 24 | /* 25 | The descriptor structure for the plugin, that is referred from 26 | st_mysql_plugin. 27 | */ 28 | 29 | typedef void* mysql_string_handle; 30 | 31 | struct st_mysql_validate_password 32 | { 33 | int interface_version; 34 | /* 35 | This function retuns TRUE for passwords which satisfy the password 36 | policy (as choosen by plugin variable) and FALSE for all other 37 | password 38 | */ 39 | int (*validate_password)(mysql_string_handle password); 40 | /* 41 | This function returns the password strength (0-100) depending 42 | upon the policies 43 | */ 44 | int (*get_password_strength)(mysql_string_handle password); 45 | }; 46 | #endif 47 | -------------------------------------------------------------------------------- /socket服务端/mysql64/include/sslopt-case.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. 2 | 3 | This program is free software; you can redistribute it and/or modify 4 | it under the terms of the GNU General Public License as published by 5 | the Free Software Foundation; version 2 of the License. 6 | 7 | This program is distributed in the hope that it will be useful, 8 | but WITHOUT ANY WARRANTY; without even the implied warranty of 9 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 10 | GNU General Public License for more details. 11 | 12 | You should have received a copy of the GNU General Public License 13 | along with this program; if not, write to the Free Software 14 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ 15 | 16 | #if defined(HAVE_OPENSSL) && !defined(EMBEDDED_LIBRARY) 17 | 18 | #ifndef MYSQL_CLIENT 19 | #error This header is supposed to be used only in the client 20 | #endif 21 | 22 | case OPT_SSL_MODE: 23 | opt_ssl_mode= find_type_or_exit(argument, &ssl_mode_typelib, 24 | opt->name); 25 | ssl_mode_set_explicitly= TRUE; 26 | break; 27 | case OPT_SSL_SSL: 28 | CLIENT_WARN_DEPRECATED("--ssl", "--ssl-mode"); 29 | if (!opt_use_ssl_arg) 30 | opt_ssl_mode= SSL_MODE_DISABLED; 31 | else if (opt_ssl_mode < SSL_MODE_REQUIRED) 32 | opt_ssl_mode= SSL_MODE_REQUIRED; 33 | break; 34 | case OPT_SSL_VERIFY_SERVER_CERT: 35 | CLIENT_WARN_DEPRECATED("--ssl-verify-server-cert", 36 | "--ssl-mode=VERIFY_IDENTITY"); 37 | if (!opt_ssl_verify_server_cert_arg) 38 | { 39 | if (opt_ssl_mode >= SSL_MODE_VERIFY_IDENTITY) 40 | opt_ssl_mode= SSL_MODE_VERIFY_CA; 41 | } 42 | else 43 | opt_ssl_mode= SSL_MODE_VERIFY_IDENTITY; 44 | break; 45 | case OPT_SSL_CA: 46 | case OPT_SSL_CAPATH: 47 | /* Don't change ssl-mode if set explicitly. */ 48 | if (!ssl_mode_set_explicitly) 49 | opt_ssl_mode= SSL_MODE_VERIFY_CA; 50 | break; 51 | case OPT_SSL_KEY: 52 | case OPT_SSL_CERT: 53 | case OPT_SSL_CIPHER: 54 | case OPT_SSL_CRL: 55 | case OPT_SSL_CRLPATH: 56 | case OPT_TLS_VERSION: 57 | #ifdef HAVE_YASSL 58 | /* crl has no effect in yaSSL. */ 59 | opt_ssl_crl= NULL; 60 | opt_ssl_crlpath= NULL; 61 | #endif /* HAVE_YASSL */ 62 | break; 63 | #endif /* HAVE_OPENSSL */ 64 | -------------------------------------------------------------------------------- /socket服务端/mysql64/include/typelib.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved. 2 | 3 | This program is free software; you can redistribute it and/or modify 4 | it under the terms of the GNU General Public License as published by 5 | the Free Software Foundation; version 2 of the License. 6 | 7 | This program is distributed in the hope that it will be useful, 8 | but WITHOUT ANY WARRANTY; without even the implied warranty of 9 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 10 | GNU General Public License for more details. 11 | 12 | You should have received a copy of the GNU General Public License 13 | along with this program; if not, write to the Free Software 14 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ 15 | 16 | 17 | #ifndef _typelib_h 18 | #define _typelib_h 19 | 20 | #include "my_alloc.h" 21 | 22 | typedef struct st_typelib { /* Different types saved here */ 23 | unsigned int count; /* How many types */ 24 | const char *name; /* Name of typelib */ 25 | const char **type_names; 26 | unsigned int *type_lengths; 27 | } TYPELIB; 28 | 29 | extern my_ulonglong find_typeset(char *x, TYPELIB *typelib,int *error_position); 30 | extern int find_type_or_exit(const char *x, TYPELIB *typelib, 31 | const char *option); 32 | #define FIND_TYPE_BASIC 0 33 | /** makes @c find_type() require the whole name, no prefix */ 34 | #define FIND_TYPE_NO_PREFIX (1 << 0) 35 | /** always implicitely on, so unused, but old code may pass it */ 36 | #define FIND_TYPE_NO_OVERWRITE (1 << 1) 37 | /** makes @c find_type() accept a number */ 38 | #define FIND_TYPE_ALLOW_NUMBER (1 << 2) 39 | /** makes @c find_type() treat ',' as terminator */ 40 | #define FIND_TYPE_COMMA_TERM (1 << 3) 41 | 42 | extern int find_type(const char *x, const TYPELIB *typelib, unsigned int flags); 43 | extern void make_type(char *to,unsigned int nr,TYPELIB *typelib); 44 | extern const char *get_type(TYPELIB *typelib,unsigned int nr); 45 | extern TYPELIB *copy_typelib(MEM_ROOT *root, TYPELIB *from); 46 | 47 | extern TYPELIB sql_protocol_typelib; 48 | 49 | my_ulonglong find_set_from_flags(const TYPELIB *lib, unsigned int default_name, 50 | my_ulonglong cur_set, my_ulonglong default_set, 51 | const char *str, unsigned int length, 52 | char **err_pos, unsigned int *err_len); 53 | 54 | #endif /* _typelib_h */ 55 | -------------------------------------------------------------------------------- /socket服务端/mysql64/lib/libmysql.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/mysql64/lib/libmysql.dll -------------------------------------------------------------------------------- /socket服务端/mysql64/lib/libmysql.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/mysql64/lib/libmysql.lib -------------------------------------------------------------------------------- /socket服务端/socket服务端.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/socket服务端.cpp -------------------------------------------------------------------------------- /socket服务端/socket服务端.vcxproj.user: -------------------------------------------------------------------------------- 1 |  2 | 3 | -------------------------------------------------------------------------------- /socket服务端/stdafx.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/stdafx.cpp -------------------------------------------------------------------------------- /socket服务端/stdafx.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/stdafx.h -------------------------------------------------------------------------------- /socket服务端/targetver.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/targetver.h -------------------------------------------------------------------------------- /socket服务端/x64/Debug/MyList.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/x64/Debug/MyList.obj -------------------------------------------------------------------------------- /socket服务端/x64/Debug/MyMutex.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/x64/Debug/MyMutex.obj -------------------------------------------------------------------------------- /socket服务端/x64/Debug/MyQueue.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/x64/Debug/MyQueue.obj -------------------------------------------------------------------------------- /socket服务端/x64/Debug/MyStack.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/x64/Debug/MyStack.obj -------------------------------------------------------------------------------- /socket服务端/x64/Debug/MyThread.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/x64/Debug/MyThread.obj -------------------------------------------------------------------------------- /socket服务端/x64/Debug/MyThreadPool.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/x64/Debug/MyThreadPool.obj -------------------------------------------------------------------------------- /socket服务端/x64/Debug/RecAPP.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/x64/Debug/RecAPP.obj -------------------------------------------------------------------------------- /socket服务端/x64/Debug/SaveQueue.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/x64/Debug/SaveQueue.obj -------------------------------------------------------------------------------- /socket服务端/x64/Debug/SocketAPP.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/x64/Debug/SocketAPP.obj -------------------------------------------------------------------------------- /socket服务端/x64/Debug/SocketTCP.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/x64/Debug/SocketTCP.obj -------------------------------------------------------------------------------- /socket服务端/x64/Debug/Task.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/x64/Debug/Task.obj -------------------------------------------------------------------------------- /socket服务端/x64/Debug/TestTask.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/x64/Debug/TestTask.obj -------------------------------------------------------------------------------- /socket服务端/x64/Debug/json_reader.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/x64/Debug/json_reader.obj -------------------------------------------------------------------------------- /socket服务端/x64/Debug/json_value.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/x64/Debug/json_value.obj -------------------------------------------------------------------------------- /socket服务端/x64/Debug/json_writer.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/x64/Debug/json_writer.obj -------------------------------------------------------------------------------- /socket服务端/x64/Debug/mSQLSave.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/x64/Debug/mSQLSave.obj -------------------------------------------------------------------------------- /socket服务端/x64/Debug/socket服务端.exe.intermediate.manifest: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /socket服务端/x64/Debug/socket服务端.lastbuildstate: -------------------------------------------------------------------------------- 1 | #v4.0:v100 2 | Debug|x64|D:\C++项目\APPsocket服务端\| 3 | -------------------------------------------------------------------------------- /socket服务端/x64/Debug/socket服务端.log: -------------------------------------------------------------------------------- 1 |  stdafx.cpp 2 | json_reader.cpp 3 | json_value.cpp 4 | json_writer.cpp 5 | mSQLSave.cpp 6 | MyList.cpp 7 | MyMutex.cpp 8 | MyQueue.cpp 9 | MyStack.cpp 10 | MyThread.cpp 11 | MyThreadPool.cpp 12 | RecAPP.cpp 13 | SaveQueue.cpp 14 | SocketAPP.cpp 15 | SocketTCP.cpp 16 | socket服务端.cpp 17 | c:\users\administrator\desktop\appsocket服务端\socket服务端\socket服务端.cpp(175): warning C4477: “printf”: 格式字符串“%d”需要类型“int”的参数,但可变参数 1 拥有了类型“SOCKET” 18 | c:\users\administrator\desktop\appsocket服务端\socket服务端\socket服务端.cpp(175): note: 请考虑在格式字符串中使用“%lld” 19 | c:\users\administrator\desktop\appsocket服务端\socket服务端\socket服务端.cpp(175): note: 请考虑在格式字符串中使用“%Id” 20 | c:\users\administrator\desktop\appsocket服务端\socket服务端\socket服务端.cpp(175): note: 请考虑在格式字符串中使用“%I64d” 21 | c:\users\administrator\desktop\appsocket服务端\socket服务端\socket服务端.cpp(175): warning C4477: “printf”: 格式字符串“%d”需要类型“int”的参数,但可变参数 2 拥有了类型“unsigned __int64” 22 | c:\users\administrator\desktop\appsocket服务端\socket服务端\socket服务端.cpp(175): note: 请考虑在格式字符串中使用“%zd” 23 | c:\users\administrator\desktop\appsocket服务端\socket服务端\socket服务端.cpp(250): warning C4477: “printf”: 格式字符串“%d”需要类型“int”的参数,但可变参数 1 拥有了类型“SOCKET” 24 | c:\users\administrator\desktop\appsocket服务端\socket服务端\socket服务端.cpp(250): note: 请考虑在格式字符串中使用“%lld” 25 | c:\users\administrator\desktop\appsocket服务端\socket服务端\socket服务端.cpp(250): note: 请考虑在格式字符串中使用“%Id” 26 | c:\users\administrator\desktop\appsocket服务端\socket服务端\socket服务端.cpp(250): note: 请考虑在格式字符串中使用“%I64d” 27 | c:\users\administrator\desktop\appsocket服务端\socket服务端\socket服务端.cpp(250): warning C4477: “printf”: 格式字符串“%d”需要类型“int”的参数,但可变参数 2 拥有了类型“unsigned __int64” 28 | c:\users\administrator\desktop\appsocket服务端\socket服务端\socket服务端.cpp(250): note: 请考虑在格式字符串中使用“%zd” 29 | Task.cpp 30 | TestTask.cpp 31 | 正在生成代码... 32 | json_reader.obj : warning LNK4075: 忽略“/EDITANDCONTINUE”(由于“/OPT:REF”规范) 33 | socket服务端.vcxproj -> C:\Users\Administrator\Desktop\APPsocket服务端\x64\Debug\socket服务端.exe 34 | -------------------------------------------------------------------------------- /socket服务端/x64/Debug/socket服务端.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/x64/Debug/socket服务端.obj -------------------------------------------------------------------------------- /socket服务端/x64/Debug/socket服务端.pch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/x64/Debug/socket服务端.pch -------------------------------------------------------------------------------- /socket服务端/x64/Debug/socket服务端.tlog/CL.command.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/x64/Debug/socket服务端.tlog/CL.command.1.tlog -------------------------------------------------------------------------------- /socket服务端/x64/Debug/socket服务端.tlog/CL.read.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/x64/Debug/socket服务端.tlog/CL.read.1.tlog -------------------------------------------------------------------------------- /socket服务端/x64/Debug/socket服务端.tlog/CL.write.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/x64/Debug/socket服务端.tlog/CL.write.1.tlog -------------------------------------------------------------------------------- /socket服务端/x64/Debug/socket服务端.tlog/link.command.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/x64/Debug/socket服务端.tlog/link.command.1.tlog -------------------------------------------------------------------------------- /socket服务端/x64/Debug/socket服务端.tlog/link.read.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/x64/Debug/socket服务端.tlog/link.read.1.tlog -------------------------------------------------------------------------------- /socket服务端/x64/Debug/socket服务端.tlog/link.write.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/x64/Debug/socket服务端.tlog/link.write.1.tlog -------------------------------------------------------------------------------- /socket服务端/x64/Debug/socket服务端.tlog/mt.command.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/x64/Debug/socket服务端.tlog/mt.command.1.tlog -------------------------------------------------------------------------------- /socket服务端/x64/Debug/socket服务端.tlog/mt.read.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/x64/Debug/socket服务端.tlog/mt.read.1.tlog -------------------------------------------------------------------------------- /socket服务端/x64/Debug/socket服务端.tlog/mt.write.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/x64/Debug/socket服务端.tlog/mt.write.1.tlog -------------------------------------------------------------------------------- /socket服务端/x64/Debug/socket服务端.tlog/socket服务端.lastbuildstate: -------------------------------------------------------------------------------- 1 | #TargetFrameworkVersion=v4.0:PlatformToolSet=v141_xp:EnableManagedIncrementalBuild=false:VCToolArchitecture=Native32Bit:WindowsTargetPlatformVersion=7.0 2 | Debug|x64|C:\Users\Administrator\Desktop\APPsocket服务端\| 3 | -------------------------------------------------------------------------------- /socket服务端/x64/Debug/stdafx.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/x64/Debug/stdafx.obj -------------------------------------------------------------------------------- /socket服务端/x64/Debug/vc141.idb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/x64/Debug/vc141.idb -------------------------------------------------------------------------------- /socket服务端/x64/Debug/vc141.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/x64/Debug/vc141.pdb -------------------------------------------------------------------------------- /socket服务端/x64/Release/MyList.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/x64/Release/MyList.obj -------------------------------------------------------------------------------- /socket服务端/x64/Release/MyMutex.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/x64/Release/MyMutex.obj -------------------------------------------------------------------------------- /socket服务端/x64/Release/MyQueue.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/x64/Release/MyQueue.obj -------------------------------------------------------------------------------- /socket服务端/x64/Release/MyStack.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/x64/Release/MyStack.obj -------------------------------------------------------------------------------- /socket服务端/x64/Release/MyThread.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/x64/Release/MyThread.obj -------------------------------------------------------------------------------- /socket服务端/x64/Release/MyThreadPool.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/x64/Release/MyThreadPool.obj -------------------------------------------------------------------------------- /socket服务端/x64/Release/RecAPP.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/x64/Release/RecAPP.obj -------------------------------------------------------------------------------- /socket服务端/x64/Release/SaveQueue.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/x64/Release/SaveQueue.obj -------------------------------------------------------------------------------- /socket服务端/x64/Release/SocketAPP.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/x64/Release/SocketAPP.obj -------------------------------------------------------------------------------- /socket服务端/x64/Release/SocketTCP.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/x64/Release/SocketTCP.obj -------------------------------------------------------------------------------- /socket服务端/x64/Release/Task.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/x64/Release/Task.obj -------------------------------------------------------------------------------- /socket服务端/x64/Release/TestTask.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/x64/Release/TestTask.obj -------------------------------------------------------------------------------- /socket服务端/x64/Release/json_reader.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/x64/Release/json_reader.obj -------------------------------------------------------------------------------- /socket服务端/x64/Release/json_value.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/x64/Release/json_value.obj -------------------------------------------------------------------------------- /socket服务端/x64/Release/json_writer.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/x64/Release/json_writer.obj -------------------------------------------------------------------------------- /socket服务端/x64/Release/mSQLSave.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/x64/Release/mSQLSave.obj -------------------------------------------------------------------------------- /socket服务端/x64/Release/socket服务端.lastbuildstate: -------------------------------------------------------------------------------- 1 | #v4.0:v100 2 | Release|x64|D:\C++项目\APPsocket服务端\| 3 | -------------------------------------------------------------------------------- /socket服务端/x64/Release/socket服务端.log: -------------------------------------------------------------------------------- 1 |  stdafx.cpp 2 | TestTask.cpp 3 | Task.cpp 4 | socket服务端.cpp 5 | c:\users\administrator\desktop\appsocket服务端\socket服务端\socket服务端.cpp(175): warning C4477: “printf”: 格式字符串“%d”需要类型“int”的参数,但可变参数 1 拥有了类型“SOCKET” 6 | c:\users\administrator\desktop\appsocket服务端\socket服务端\socket服务端.cpp(175): note: 请考虑在格式字符串中使用“%lld” 7 | c:\users\administrator\desktop\appsocket服务端\socket服务端\socket服务端.cpp(175): note: 请考虑在格式字符串中使用“%Id” 8 | c:\users\administrator\desktop\appsocket服务端\socket服务端\socket服务端.cpp(175): note: 请考虑在格式字符串中使用“%I64d” 9 | c:\users\administrator\desktop\appsocket服务端\socket服务端\socket服务端.cpp(175): warning C4477: “printf”: 格式字符串“%d”需要类型“int”的参数,但可变参数 2 拥有了类型“unsigned __int64” 10 | c:\users\administrator\desktop\appsocket服务端\socket服务端\socket服务端.cpp(175): note: 请考虑在格式字符串中使用“%zd” 11 | c:\users\administrator\desktop\appsocket服务端\socket服务端\socket服务端.cpp(250): warning C4477: “printf”: 格式字符串“%d”需要类型“int”的参数,但可变参数 1 拥有了类型“SOCKET” 12 | c:\users\administrator\desktop\appsocket服务端\socket服务端\socket服务端.cpp(250): note: 请考虑在格式字符串中使用“%lld” 13 | c:\users\administrator\desktop\appsocket服务端\socket服务端\socket服务端.cpp(250): note: 请考虑在格式字符串中使用“%Id” 14 | c:\users\administrator\desktop\appsocket服务端\socket服务端\socket服务端.cpp(250): note: 请考虑在格式字符串中使用“%I64d” 15 | c:\users\administrator\desktop\appsocket服务端\socket服务端\socket服务端.cpp(250): warning C4477: “printf”: 格式字符串“%d”需要类型“int”的参数,但可变参数 2 拥有了类型“unsigned __int64” 16 | c:\users\administrator\desktop\appsocket服务端\socket服务端\socket服务端.cpp(250): note: 请考虑在格式字符串中使用“%zd” 17 | SocketTCP.cpp 18 | SocketAPP.cpp 19 | SaveQueue.cpp 20 | RecAPP.cpp 21 | MyThreadPool.cpp 22 | MyThread.cpp 23 | MyStack.cpp 24 | MyQueue.cpp 25 | MyMutex.cpp 26 | MyList.cpp 27 | mSQLSave.cpp 28 | json_writer.cpp 29 | json_value.cpp 30 | json_reader.cpp 31 | 正在生成代码... 32 | socket服务端.vcxproj -> C:\Users\Administrator\Desktop\APPsocket服务端\x64\Release\socket服务端.exe 33 | -------------------------------------------------------------------------------- /socket服务端/x64/Release/socket服务端.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/x64/Release/socket服务端.obj -------------------------------------------------------------------------------- /socket服务端/x64/Release/socket服务端.pch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/x64/Release/socket服务端.pch -------------------------------------------------------------------------------- /socket服务端/x64/Release/socket服务端.tlog/CL.command.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/x64/Release/socket服务端.tlog/CL.command.1.tlog -------------------------------------------------------------------------------- /socket服务端/x64/Release/socket服务端.tlog/CL.read.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/x64/Release/socket服务端.tlog/CL.read.1.tlog -------------------------------------------------------------------------------- /socket服务端/x64/Release/socket服务端.tlog/CL.write.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/x64/Release/socket服务端.tlog/CL.write.1.tlog -------------------------------------------------------------------------------- /socket服务端/x64/Release/socket服务端.tlog/link.command.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/x64/Release/socket服务端.tlog/link.command.1.tlog -------------------------------------------------------------------------------- /socket服务端/x64/Release/socket服务端.tlog/link.read.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/x64/Release/socket服务端.tlog/link.read.1.tlog -------------------------------------------------------------------------------- /socket服务端/x64/Release/socket服务端.tlog/link.write.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/x64/Release/socket服务端.tlog/link.write.1.tlog -------------------------------------------------------------------------------- /socket服务端/x64/Release/socket服务端.tlog/socket服务端.lastbuildstate: -------------------------------------------------------------------------------- 1 | #TargetFrameworkVersion=v4.0:PlatformToolSet=v141_xp:EnableManagedIncrementalBuild=false:VCToolArchitecture=Native32Bit:WindowsTargetPlatformVersion=7.0 2 | Release|x64|C:\Users\Administrator\Desktop\APPsocket服务端\| 3 | -------------------------------------------------------------------------------- /socket服务端/x64/Release/stdafx.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/x64/Release/stdafx.obj -------------------------------------------------------------------------------- /socket服务端/x64/Release/vc141.idb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/x64/Release/vc141.idb -------------------------------------------------------------------------------- /socket服务端/x64/Release/vc141.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/socket服务端/x64/Release/vc141.pdb -------------------------------------------------------------------------------- /x64/Debug/libmysql.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/x64/Debug/libmysql.dll -------------------------------------------------------------------------------- /x64/Debug/msvcp100.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/x64/Debug/msvcp100.dll -------------------------------------------------------------------------------- /x64/Debug/msvcp100d.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/x64/Debug/msvcp100d.dll -------------------------------------------------------------------------------- /x64/Debug/msvcr100.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/x64/Debug/msvcr100.dll -------------------------------------------------------------------------------- /x64/Debug/msvcr100d.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/x64/Debug/msvcr100d.dll -------------------------------------------------------------------------------- /x64/Debug/socket服务端.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/x64/Debug/socket服务端.exe -------------------------------------------------------------------------------- /x64/Debug/注意不要用WIN7兼容模式运行,内存会增长.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/x64/Debug/注意不要用WIN7兼容模式运行,内存会增长.txt -------------------------------------------------------------------------------- /x64/Release/libmysql.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/x64/Release/libmysql.dll -------------------------------------------------------------------------------- /x64/Release/msvcp100.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/x64/Release/msvcp100.dll -------------------------------------------------------------------------------- /x64/Release/msvcr100.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/x64/Release/msvcr100.dll -------------------------------------------------------------------------------- /x64/Release/socket服务端.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/x64/Release/socket服务端.exe -------------------------------------------------------------------------------- /x64/Release/注意不要用WIN7兼容模式运行,内存会增长.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shaozhanyu/CPP-IOCP-socket/ab1e50cbc0eb193adfb6163591ff8cd3adedb72e/x64/Release/注意不要用WIN7兼容模式运行,内存会增长.txt --------------------------------------------------------------------------------