front_idill/extern/fajran-npTuioClient/TuioClient/oscpack/changes
author bastiena
Fri, 06 Apr 2012 10:44:54 +0200
changeset 21 e4e5f02787a1
permissions -rw-r--r--
Front IDILL : Added Communication extern named fajran-npTuioClient It contains the project generating a dll used as a browser plugin.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
21
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
     1
September 28, 2005
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
     2
------------------
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
     3
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
     4
Compared to the previous official snapshot (November 2004) the 
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
     5
current version of oscpack includes a re-written set of network 
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
     6
classes and some changes to the syntax of the networking code. It no 
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
     7
longer uses threads, which means that you don't need to use sleep() 
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
     8
if you are writing a simple single-threaded server, or you need to 
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
     9
spawn your own threads in a more complex application.
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    10
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    11
The list below summarises the changes if you are porting code from 
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    12
the previous release.
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    13
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    14
    - there are no longer any threads in oscpack. if you need to 
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    15
    set up an asynchronous listener you can create your own thread 
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    16
    and call Run on an instance of SocketReceiveMultiplexer or 
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    17
    UdpListeningReceiveSocket (see ip/UdpSocket.h) yourself.
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    18
    
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    19
    - host byte order is now used for network (IP) addresses
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    20
        
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    21
    - functions which used to take two parameters <address, port> 
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    22
    now take an instance of IpEndpointName (see 
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    23
    ip/IpEndpointName.h) this class has a number of convenient 
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    24
    constructors for converting numbers and strings to internet 
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    25
    addresses. For example there is one which takes a string and 
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    26
    another that take the dotted address components as separate 
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    27
    parameters.
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    28
    
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    29
    - The UdpTransmitPort class, formerly in UdpTransmitPort.h, is 
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    30
    now called UdpTransmitSocket, which is simply a convenience 
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    31
    class derived from UdpSocket (see ip/UdpSocket.h). Where you 
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    32
    used to use the constructor UdpTransmitPort( address, port) now 
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    33
    you can use UdpTransmitSocket( IpEndpointName( address, port ) 
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    34
    ) or you can any of the other possible ctors to IpEndpointName
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    35
    () (see above). The Send() method is unchanged.
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    36
    
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    37
    - The packet listener base class is now located in 
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    38
    ip/PacketListener.h instead of PacketListenerPort.h. The 
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    39
    ProcessPacket method now has an additional parameter indicating 
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    40
    the remote endpoint
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    41
    
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    42
    - The preferred way to set up listeners is with 
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    43
    SocketReceiveMultiplexer (in ip/UdpSocket.h), this also allows 
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    44
    attaching periodic timers. For simple applications which only 
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    45
    listen to a single socket with no timers you can use 
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    46
    UdpListeningReceiveSocket (also in UdpSocket.h) See 
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    47
    osc/OscReceiveTest.cpp or osc/OscDump.cpp for examples of this. 
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    48
    This is more or less equivalent to the UdpPacketListenerPort 
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    49
    object in the old oscpack versions except that you need to 
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    50
    explicitly call Run() before it will start receiving packets 
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    51
    and it runs in the same thread, not a separate thread so Run() 
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    52
    won't usually return.
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    53
    
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    54
    - Explicit calls to InitializeNetworking() and 
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    55
    TerminateNetworking() are no longer required for simple 
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    56
    applications (more complex windows applications should 
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    57
    instantiate NetworkInitializer in main() or WinMain (see 
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    58
    ip/NetworkingUtils.h/.cpp)
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    59
    
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    60
    - The OscPacketListener base class (OscPacketListener.h) was 
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    61
    added to make traversing OSC packets easier, it handles bundle 
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    62
    traversal automatically so you only need to process messages in 
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    63
    your derived classes.
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    64
    
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    65
    - On Windows be sure to link with ws2_32.lib or you will see
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    66
    a linker error about WSAEventSelect not being found. Also you 
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    67
    will need to link with winmm.lib for timeGetTime()
e4e5f02787a1 Front IDILL :
bastiena
parents:
diff changeset
    68