OMOSSocket 類別

OMOSSocket 類別代表透過其在 Rational® Rhapsody® 與設備測試應用程式之間傳遞資料的 Socket。

OMOSSocket 通常用於動畫,但它還可以用於其他連線,只要您提供主機名稱及埠號即可。 OMOSSocket 代表連線的用戶端,並假設在網路的某個位置,存在接聽該連線的伺服器。 您可以修改 OMOSSocket 類別的定義,以從相關位置移除 _OMINSTRUMENT 巨集定義,以提供非設備測試配置的 Socket 實作。 此外,您還可能需要將 MakeFileContent 內容中的 SOCK_LIB 巨集定義,修改為類似於用於追蹤及動畫的定義。

如果動畫階段作業看起來可能停滯,則這可能是因為在 Rational Rhapsody 與應用程式之間傳遞了大量訊息,導致 Socket 的內部緩衝區已填滿,這可能會引起 Rational Rhapsody 與應用程式之間的主要延遲。 此問題的解決方案是增加 Socket 內部緩衝區的大小,依預設為 8K。例如,在 Windows NT® 實作中,您可以將下列程式碼新增至 NTSocketCreate() 函數:

int NTSocket::Create(
   const char* SocketAddress /*= NULL*/, 
   unsigned int nSocketPort /*= 0*/)
   {
      ... 
      if ((theSock = socket(AF_INET, SOCK_STREAM, proto))
       == INVALID_SOCKET) 
      {
         NOTIFY_TO_ERROR("Could not create socket\n");
         theSock = 0;
         return 0;
      } 
      int internalBufferSizes = 64 * 1024; // 64k
      setsockopt(theSock, SOL_SOCKET, SO_RCVBUF,
         (char*) &internalBufferSizes, sizeof(int));
      setsockopt(theSock, SOL_SOCKET, SO_SNDBUF,
         (char*) &internalBufferSizes, sizeof(int));
      ... 
   }
註: 此解決方案僅針對 Windows NT 系統進行過檢查。
建構摘要
~OMOSSocket
毀損 OMOSSocket 物件
方法摘要
收盤
關閉 Socket
建立
建立新的 Socket
Receive
透過 Socket 接收資料
傳送
透過 Socket 傳送資料

回饋