13using namespace Microsoft::VisualStudio::CppUnitTestFramework;
20 TEST_CLASS_INITIALIZE (ClassInitialize)
22 Logger::WriteMessage (
"UdpConnectorTest class initialize.\n");
25 TEST_CLASS_CLEANUP (ClassCleanup)
27 Logger::WriteMessage (
"UdpConnectorTest class cleanup.\n");
30 TEST_METHOD_INITIALIZE (MethodInitialize)
32 Logger::WriteMessage (
"UdpConnectorTest method initialize.\n");
35 TEST_METHOD_CLEANUP (MethodCleanup)
37 Logger::WriteMessage (
"UdpConnectorTest method cleanup.\n");
45 _connector = connector;
55 BOOL SetTarget (LPCTSTR lpctszTargetIP, WORD wTargetPort)
57 return _connector->
SetSockAddr (lpctszTargetIP, wTargetPort);
60 DWORD Invoke (LPVOID lpvParam)
64 for (
int i = 0; i < 10; i++)
68 message.
Format (_T (
"WorkerThread(%d) %d\n"), _id, i);
69 INT iSend = _connector->Send ((LPVOID)message.
Ctr (), message.
Byte ());
70 Assert::AreEqual<int> (iSend, message.
Byte (), _T (
"send size different.\n"));
73 INT iRecv = _connector->Recv (buffer.
Ptr(), 80);
74 Logger::WriteMessage (buffer.
Ctr ());
78 BYTE byBuffer[80]{ 0 };
79 ZeroMemory (byBuffer,
sizeof(byBuffer));
80 INT iRecv =_connector->Recv (byBuffer,
sizeof(byBuffer));
81 byBuffer[iRecv] =
'\0';
82 Logger::WriteMessage ((LPCTSTR)byBuffer);
85 _connector->Send ((LPVOID)message.
Ctr (), message.
Byte ());
93 WorkerThread () =
delete;
99 TEST_METHOD (UdpConnecorTest1)
104 Assert::AreEqual(0, builder.
Startup (), _T(
"SocketBuilder::Startup() failed.\n"));
107 Assert::IsTrue(connector1->SetTarget (_T (
"127.0.0.1"), 9002), _T(
"Connector::SetTarget(1) failed.\n"));
110 Assert::IsTrue(connector2->SetTarget (_T (
"127.0.0.1"), 9001), _T(
"Connector::SetTarget(2) failed.\n"));
112 connector1->Create ();
113 connector2->Create ();
ソケットに関するWindowsAPIを集約したクラス
文字列に関するWindowsAPIを集約したクラス
スレッドに関するWindowsAPIを集約したクラス
UDP通信に関するWindowsAPIを集約したクラス
ソケットに関するWindowsAPIを集約したクラス
int APIENTRY Startup()
Windowsソケットの使用準備
UdpConnector *APIENTRY CreateUdpConnector(LPCTSTR lpctszIpAddr, u_short portNo)
UdpConnectorの作成
文字列に関するWindowsAPIを集約したクラス
TString &APIENTRY Format(LPCTSTR format,...)
フォーマットに従ってパラメータを文字列化します。
INT APIENTRY Byte() const
内部で確保している文字列(バイト数)を取得します。
LPCTSTR APIENTRY Ctr() const
内部で確保している文字列ポインタを取得します。
LPTSTR APIENTRY Ptr() const
内部で確保している文字列ポインタを取得します。
スレッドに関するWindowsAPIを集約したクラス
UDP通信に関するWindowsAPIを集約したクラス
BOOL APIENTRY SetSockAddr(LPCTSTR lpctszAddress, u_short portNo)
UDP送信先アドレスの設定
bool APIENTRY New(Args... args)
管理オブジェクトの作成
Threadクラスのスレッド実行関数を設定します。