Volker Fischer
b8930b5232
removed unused function
2014-02-16 08:27:26 +00:00
Volker Fischer
887f5cd5b9
ParseConnectionLessMessageWithFrame
2014-02-16 08:21:40 +00:00
Volker Fischer
2ac7a92eaf
finished implementation of a separate socket high priority thread
2014-02-16 08:20:07 +00:00
Volker Fischer
2e5f7781ce
finished implementation of a separate socket high priority thread
2014-02-16 08:12:07 +00:00
Volker Fischer
bde026b06b
make IsConnectionLessMessageID static
2014-02-16 07:17:48 +00:00
Volker Fischer
85fef28e24
added a missing include
2014-02-16 07:16:48 +00:00
Volker Fischer
d078730aeb
make some functions static
2014-02-14 22:00:42 +00:00
Volker Fischer
42d0cdca59
small fix and added a comment
2014-02-14 22:00:31 +00:00
Volker Fischer
51db9e742a
take care of NewConnection message in the socket context
2014-02-13 21:03:33 +00:00
Volker Fischer
033e3adca4
- take care of NewConnection message in the socket context
...
- some changes in the Mutexs
2014-02-13 21:03:08 +00:00
Volker Fischer
4837dc88d4
increase the probability of valid instrument picture
2014-02-13 21:01:15 +00:00
Volker Fischer
bab6152f8c
some cleanup and implemented a nice socket thread exit on shutdown (fixed Qt warnings on shutdown of the software)
2014-02-13 18:38:25 +00:00
Volker Fischer
7c37d6d018
fixes issues for Linux compilation
2014-02-11 20:39:07 +00:00
Volker Fischer
a9c0e243dd
fix compilation errors under Linux
2014-02-11 20:21:32 +00:00
Volker Fischer
1c1e07bd24
fix a compiler warning
2014-02-11 17:47:48 +00:00
Volker Fischer
9ca6df618f
separate socket thread works now fine under Windows (only for Windows right now)
2014-02-11 17:35:39 +00:00
Volker Fischer
2ad0890bf2
Do a test where we use waitforreadyread instead of event driven -> this seems to solve the thread priority issue with the GUI but we get a crash in the Socket (mutex/thread-save issue).
2014-02-01 15:14:47 +00:00
Volker Fischer
76d8de72b6
lowering the GUI thread priority should not be necessary if the high priority socket thread is correctly implemented
2014-01-31 16:51:06 +00:00
Volker Fischer
2c515ae6c1
column sizes for Android must be larger
2014-01-30 08:54:58 +00:00
Volker Fischer
e5aedf6998
fix for high prio socket
2014-01-29 16:06:52 +00:00
Volker Fischer
4b83fa6fe0
avoid allocating memory in time critical routines
2014-01-23 20:33:55 +00:00
Volker Fischer
403f3a52f2
bug fix: the ping time LED was not reset if the connection was stopped
2014-01-21 21:19:51 +00:00
Volker Fischer
d7a41b5076
some fixes for Android
2014-01-21 17:25:46 +00:00
Volker Fischer
e76ce47cd6
added some android code
2014-01-20 20:42:58 +00:00
Volker Fischer
90467df03c
go back to original version since it did not compile under Linux and MacOS
2014-01-19 15:03:11 +00:00
Volker Fischer
7320b0a4cc
CVector<bool> does not work -> implement a workaround with int type
2014-01-19 15:02:25 +00:00
Volker Fischer
180837f70b
store fader solo state
2014-01-19 10:51:31 +00:00
Volker Fischer
27c5f29b1a
#16 If solo is enabled, the fader does not work anymore
2014-01-18 07:49:47 +00:00
Volker Fischer
2c443c7aef
avoid allocating memory in the server real-time processing routine
2014-01-12 09:48:49 +00:00
Volker Fischer
7ee9fc2a67
fixed a compiler warning
2014-01-12 09:44:41 +00:00
Volker Fischer
02e88840e9
added a TODO comment
2014-01-12 07:42:43 +00:00
Volker Fischer
80883715e3
fix for optional "CHighPrioSocket" -> still does not compile...
2014-01-10 20:00:45 +00:00
Volker Fischer
33afb04f3f
- speed optimizations (removed some memory allocations in the processing routine)
...
- removed duplicate function
- clean up some code
2014-01-08 21:24:37 +00:00
Volker Fischer
d98ac1b2af
fixed a warning
2014-01-06 16:49:19 +00:00
Volker Fischer
efdd10fc13
const correctness
2014-01-06 16:06:04 +00:00
Volker Fischer
f016e9e022
avoid allocating memory in time critical client thread -> improve socket send function in the channel
2014-01-06 15:57:40 +00:00
Volker Fischer
91b4823d37
code style
2014-01-06 15:33:53 +00:00
Volker Fischer
81b4416a6f
only fire message for starting the server if the server is not running at the moment
2014-01-06 13:04:26 +00:00
Volker Fischer
215be703a7
increase the thread priority of the real time timer
2014-01-06 12:53:54 +00:00
Volker Fischer
27f0e540b6
make the "ParseMessageBody" signal/slot mechanism the default since in the future we will need to use different threads at some point
2014-01-06 12:52:53 +00:00
Volker Fischer
7c81775232
small change in example code (in the comment)
2014-01-06 12:51:06 +00:00
Volker Fischer
90cbb22993
added a "const"
2014-01-05 20:47:35 +00:00
Volker Fischer
4baf2c5ef5
replaced global "MUL_COL_LED_*" definitions by actual enum definitions in the multicolor LED class
2014-01-05 18:26:38 +00:00
Volker Fischer
c0a67a9884
update to 2014
2014-01-05 16:52:38 +00:00
Volker Fischer
f26301ae75
next try to fix corrupt file
2014-01-05 16:13:00 +00:00
Volker Fischer
3f7d434144
the file in the CVS seems to be corrupt
2014-01-05 15:45:53 +00:00
Volker Fischer
06ca70ef10
added a TODO comment
2014-01-05 15:33:08 +00:00
Volker Fischer
72f7c25d98
code style
2014-01-03 09:00:24 +00:00
Volker Fischer
6e49e4e92c
change the mechanism of how the LEDs are updated -> no window event posts anymore to avoid blocking in the critical audio thread
2014-01-03 08:54:49 +00:00
Volker Fischer
e9a5962ef1
some cleanup: remove unnecessary GUI messages (they are not used because we only have callback based sound interfaces right now)
2014-01-02 20:11:56 +00:00
Volker Fischer
2980c195a4
update to a new version of STK reverb (inserting comb filters for more realistic reverberation effect)
2014-01-02 10:47:11 +00:00
Volker Fischer
ac10994d5c
Support for a true stereo reverberation effect
2014-01-01 21:31:22 +00:00
Volker Fischer
715041effe
in the most recent Ubuntu distribution the QTime did not work for the ping times anymore (the ping time was always 0 ms)
2013-12-27 16:04:46 +00:00
Volker Fischer
d3fce3fe62
code style
2013-12-27 16:01:35 +00:00
Volker Fischer
5fdaea0e55
fix compilation errors on Linux and MacOS
2013-12-24 10:20:24 +00:00
Volker Fischer
ada419c5bb
simplify the vector class (remove unnecessary derived member variables)
2013-12-24 10:06:03 +00:00
Volker Fischer
ac83592f08
some small speed optimizations
2013-12-24 10:00:45 +00:00
Volker Fischer
bc3098ab79
use std copy function instead of a while loop
2013-12-24 09:59:27 +00:00
Volker Fischer
3fc6ccc8aa
introduce GetInOutLatencyMs to query the actual latency from the sound interface
2013-12-17 20:52:38 +00:00
Volker Fischer
d089e7d308
use std max function for signal level meter update instead of if condition
2013-12-16 21:15:42 +00:00
Volker Fischer
4f91d59a96
fix compile error on MacOS
2013-12-16 20:41:09 +00:00
Volker Fischer
cbaefb32da
speed optimization
2013-12-16 20:36:48 +00:00
Volker Fischer
379a3e9f9d
speed optimzation: avoid some unnecessary conversions from short to double
2013-12-15 12:46:09 +00:00
Volker Fischer
9a2efd25fe
bug fix: support for correct utf-8 storage of names in the ini-file
2013-12-15 10:54:17 +00:00
Volker Fischer
d4be4bc038
code style and changed reverb decay to 1.1 seconds
2013-12-14 22:11:24 +00:00
Volker Fischer
1f3c716163
code style
2013-12-14 22:10:38 +00:00
Volker Fischer
6034dab1b3
introduce functions for ToBase64 and FromBase64 for cleaner code
2013-12-14 22:09:59 +00:00
Volker Fischer
b66e22379a
the solo state of a mixer fader is not exclusive any more and the solo state is preserved if the number of mixer faders changes
2013-09-10 16:24:55 +00:00
Volker Fischer
ae874ae0b4
changed MAX_NUM_CHANNELS to 20
2013-09-08 20:15:21 +00:00
Volker Fischer
ef76866d6f
remove legacy ping time message (now very old versions of llcon do not get ping measurements from the server anymore)
2013-09-07 20:30:08 +00:00
Volker Fischer
762a6283c6
code style
2013-09-07 20:29:29 +00:00
Volker Fischer
8ae66fd1a5
store window positions and visability state
2013-08-26 19:59:18 +00:00
Volker Fischer
584db6def8
code style
2013-08-26 19:58:59 +00:00
Volker Fischer
3012f20fce
added instrument picture "Streamer", update for "Listener" picture
2013-08-25 18:13:13 +00:00
Volker Fischer
5224f90f5d
added instrument picture "Listener" and fixed file name of "Recorder" picture
2013-08-25 17:49:21 +00:00
Volker Fischer
f87e8ef790
added instrument picture "Recorder"
2013-08-25 16:53:27 +00:00
Volker Fischer
3feb43054f
added some more comments
2013-08-23 15:36:37 +00:00
Volker Fischer
395dd25c07
small fix in comment
2013-08-23 14:34:36 +00:00
Volker Fischer
89a1ab3de9
speed optimzation which leads to less audio drop outs if the connection dialog is opened during a connection
2013-08-18 20:53:31 +00:00
Volker Fischer
e8b65b6c0d
disable the "socket in separate thread" code again since it does not perform the way it was intended to
2013-08-18 18:08:08 +00:00
Volker Fischer
f85115d548
added missing protocol messages
2013-08-18 18:05:28 +00:00
Volker Fischer
0d93612214
bug fix for the server (fixed a dead lock)
2013-08-18 15:22:18 +00:00
Volker Fischer
dcc4f0596f
code cleanup
2013-08-18 07:42:32 +00:00
Volker Fischer
9d05436964
enable the experimental "threaded socket" code since one outstanding issue is now fixed :"fix for the "Multiple socket notifiers for same socket" error if threaded socket is used"
2013-08-18 07:41:30 +00:00
Volker Fischer
84c93bbbe5
fix for the "Multiple socket notifiers for same socket" error if threaded socket is used
2013-08-18 07:40:34 +00:00
Volker Fischer
c22c264123
Support for three audio quality settings (a new high quality rate is introduced)
2013-08-15 19:15:01 +00:00
Volker Fischer
2856626523
added formula
2013-06-09 06:42:33 +00:00
Volker Fischer
6bdb82c65f
Added support for putting the receive socket in a separate thread. Unfortunately the current code does not work as expected. Some Qt warnings appear and after a while the receive socket does not receive any more network packets. Therefore a global macro is introduced to enable/disable the new code. Default is: disabled.
2013-06-03 16:07:17 +00:00
Volker Fischer
b8e9fcc4a3
cleanup (removed unnecessary variable)
2013-05-10 19:46:59 +00:00
Volker Fischer
72b24fedf3
clean up "new connection" mechanism for the server (which messages are fired, etc.)
2013-05-10 19:37:57 +00:00
Volker Fischer
8e95b548cb
clean up the socket so that we do not have direct calls to e.g. protocol messages
2013-05-10 19:34:55 +00:00
Volker Fischer
21707b0e17
added some more comment
2013-05-10 07:57:21 +00:00
Volker Fischer
386ade7cae
code style
2013-05-08 07:35:15 +00:00
Volker Fischer
424532a162
disable new feature for connection setup shown during an active connection for now since it does not work reliably...
2013-05-04 19:24:36 +00:00
Volker Fischer
c942a2757c
code style
2013-05-04 19:14:02 +00:00
Volker Fischer
dc22883150
the connection setup dialog can now be opened during a connection
2013-05-03 19:11:01 +00:00
Volker Fischer
f157bd0d2a
jamulus.dyndns.org is now active
2013-03-24 15:46:07 +00:00
Volker Fischer
ddbc1d3d8d
get rid of "Llcon"
2013-03-24 15:42:23 +00:00
Volker Fischer
28defb82cb
get rid of "Llcon"
2013-03-24 11:38:00 +00:00
Volker Fischer
0841ec12a4
file renaming
2013-03-24 11:24:43 +00:00
Volker Fischer
196f0ff477
get rid of the name "llcon"
2013-03-24 10:49:25 +00:00
Volker Fischer
4ed34f5509
removed llcon from file names
2013-03-24 10:34:39 +00:00
Volker Fischer
06b485b231
exchanged llcon by Jamulus in almost all places except the Sourceforge download path and the llcon.dyndns.org server
2013-03-24 09:20:19 +00:00
Volker Fischer
a130b1425c
add the version number in the qt project file rather than in the global.h
2013-03-24 08:54:11 +00:00
Volker Fischer
70ebf16ceb
code style
2013-03-22 18:50:05 +00:00
Volker Fischer
cbb18ebc03
a more realistic calculation of the network stream rate
2013-03-10 17:32:33 +00:00
Volker Fischer
ccadb45f11
fixed loud noise on initialial connection (caused by weird OPUS PLC effect)
2013-03-10 09:27:25 +00:00
Volker Fischer
961ae0f396
fix for loud noise at the beginning of a connection when a new server (supporting OPUS) is connected -> Still some noise left because of weird PLC effects of the OPUS codec
2013-03-10 08:19:41 +00:00
Volker Fischer
cf0c9d192d
- removed OPUS_EXPECTED_PACKET_LOSS_PERC because it seems not to be used in the CELT decoder (just for SILK)
...
- fix for loud noise at the beginning of a connection when a new server (supporting OPUS) is connected -> Still some noise left because of weird PLC effects of the OPUS codec
2013-03-10 08:17:25 +00:00
Volker Fischer
b69e8a3028
removed OPUS_EXPECTED_PACKET_LOSS_PERC because it seems not to be used in the CELT decoder (just for SILK)
2013-03-10 08:15:15 +00:00
Volker Fischer
2f0eb9a7f0
removed iNumInvalidElements method since this does not work fine with OPUS PLC
2013-03-06 16:48:11 +00:00
Volker Fischer
1a67c9a66d
enable OPUS codec
2013-03-06 16:46:15 +00:00
Volker Fischer
2b6e97bb83
change packet loss expected amount for OPUS decoder (to be optimized)
2013-03-06 16:45:35 +00:00
Volker Fischer
089c60c9cd
fix a compile warning
2013-03-04 16:23:05 +00:00
Volker Fischer
a023af7961
small fixes like window icon, title
2013-03-04 16:20:32 +00:00
Volker Fischer
3c790d28df
bug fix
2013-03-04 16:11:37 +00:00
Volker Fischer
f2d4cb3e17
next try...
2013-03-03 21:56:25 +00:00
Volker Fischer
48708ba00c
fix
2013-03-03 21:42:13 +00:00
Volker Fischer
f892dc6312
bug fix
2013-03-03 21:38:23 +00:00
Volker Fischer
91548aacf6
use better high precision timer for Linux
2013-03-03 21:32:42 +00:00
Volker Fischer
478fd285be
added command line argument --showanalyzerconsole to enable the analyzer console
2013-03-02 19:52:13 +00:00
Volker Fischer
f9b13ec2f6
bug fix: IP address was not shown on empty name tag
2013-03-01 17:15:29 +00:00
Volker Fischer
797a991417
support for storing fader tags/levels in settings file
2013-02-28 20:54:47 +00:00
Volker Fischer
b8759620ef
fixed the outstanding bug
2013-02-28 20:50:09 +00:00
Volker Fischer
471fb0c6ae
support for storing fader levels on a reconnect -> not yet finished, there is a known bug which has to be fixed!
2013-02-27 21:28:38 +00:00
Volker Fischer
9a9ca7c1c4
return the old value (removed entry) of the list
2013-02-27 21:20:14 +00:00
Volker Fischer
f79d8e410c
new version number
2013-02-24 09:59:51 +00:00
Volker Fischer
ee358b3680
prepare for release
2013-02-24 09:05:47 +00:00
Volker Fischer
bffbe17abf
started work on "storing fader gains" request
2013-02-24 09:03:57 +00:00
Volker Fischer
4727a0b45b
added some test code (not enabled)
2013-02-24 09:03:33 +00:00
Volker Fischer
b83f14a2eb
iMaxElements is not required for function AddStringFiFoWithCompare
2013-02-23 21:09:14 +00:00
Volker Fischer
4bffd4edcd
added analyzerconsole
2013-02-23 20:15:48 +00:00
Volker Fischer
509ce2c32f
added function OnGainValueChanged
2013-02-23 20:15:22 +00:00
Volker Fischer
096d3a39d2
added AddStringFiFoWithCompare function
2013-02-23 20:13:43 +00:00
Volker Fischer
7dcd612879
code cleanup
2013-02-23 20:12:09 +00:00
Volker Fischer
92bb9c253a
code style
2013-02-23 17:51:34 +00:00
Volker Fischer
e58976901d
added analyzerconsole
2013-02-23 17:49:44 +00:00
Volker Fischer
88a38a41a2
added analyzerconsole
2013-02-23 17:36:49 +00:00
Volker Fischer
44f4da79b9
small fix in comment
2013-02-20 18:31:25 +00:00
Volker Fischer
badf158653
there are still loud artifacts in the audio when dropouts occur, disable OPUS again
2013-02-20 18:29:33 +00:00
Volker Fischer
05a71cd572
fixes by Michael Gorbovitski (mickg100) for OPUS performance improvement -> Thank you!
2013-02-20 17:22:04 +00:00
Volker Fischer
75c121b866
fix in About text
2013-02-19 21:27:07 +00:00
Volker Fischer
5562410594
changed name from llcon to Jamulus
2013-02-19 21:20:15 +00:00
Volker Fischer
744a9a70e7
removed llcon
2013-02-18 18:21:57 +00:00
Volker Fischer
066f08b88e
set window title for server
2013-02-18 18:20:37 +00:00
Volker Fischer
57fe038978
replaced llcon by APP_NAME
2013-02-18 18:20:02 +00:00
Volker Fischer
ee8524aa11
set correct window title
2013-02-17 21:26:29 +00:00
Volker Fischer
d4f00da713
use APP_NAME define instead of writing llcon directly in the code
2013-02-17 21:14:19 +00:00
Volker Fischer
b4069f93f9
some code cleanup
2013-02-17 10:33:01 +00:00
Volker Fischer
c106f8f9c7
disable OPUS for now, the PLC seems not to be correct...
2013-02-16 21:08:02 +00:00
Volker Fischer
694ee2fae2
bug fix: use OPUS custom interface instead of the normal one
2013-02-16 19:11:30 +00:00
Volker Fischer
dcbfba2fd9
added enum for OPUS codec
2013-02-16 18:17:12 +00:00
Volker Fischer
eb277e3a96
support for OPUS codec
2013-02-16 18:16:12 +00:00
Volker Fischer
0c4f22eaa2
support for OPUS codec
2013-02-16 18:06:18 +00:00
Volker Fischer
7bed33dab4
added a "OPUS supported" message
2013-02-16 18:01:51 +00:00
Volker Fischer
26ef64e1c8
update for new OPUS codec
2013-02-16 18:00:08 +00:00
Volker Fischer
f0d46f4fc0
started OPUS integration by just creating the OPUS objects and do nothing with them right now
2013-02-16 10:54:40 +00:00
Volker Fischer
b518f0cd96
added a "cc6_" prior to all file names, functions and global variables
2013-02-15 20:09:10 +00:00
Volker Fischer
25321dec2a
fix for compiler warning
2013-02-13 18:25:56 +00:00
Volker Fischer
ebd0882d52
file renaming
2013-02-13 16:41:24 +00:00
Volker Fischer
37f79f4e72
added comment
2013-02-12 15:34:53 +00:00
Volker Fischer
0bc4bae2a6
reset network transport properties on disconnect of the channel (so that network transport properties must be received for successful decoding)
2013-02-12 15:34:26 +00:00
Volker Fischer
8921fed34c
added ResetNetworkTransportProperties() function
2013-02-12 15:33:28 +00:00
Volker Fischer
1c2bbbb009
use CELT_MINIMUM_NUM_BYTES to check protocol for network transport message
2013-02-12 15:32:43 +00:00
Volker Fischer
400095b3dc
added CELT_MINIMUM_NUM_BYTES
2013-02-12 15:32:05 +00:00
Volker Fischer
7c52b81287
increase default maximum number of server channels from 6 to 7
2013-02-12 14:40:50 +00:00
Volker Fischer
a04438fdc5
support for server welcome message on connect (enabled via a command line argument)
2013-02-11 20:24:38 +00:00
Volker Fischer
3f937e80a5
fixed tab stops
2013-02-11 18:47:50 +00:00
Volker Fischer
1ec3fbc485
added new instruments
2013-02-11 17:56:38 +00:00
Volker Fischer
64c647a2a3
bug fix
2013-02-11 17:55:36 +00:00
Volker Fischer
bf29e47764
added instrument pictures
2013-02-11 17:55:14 +00:00
Volker Fischer
c7127727d0
new instrument pictures
2013-02-11 17:54:41 +00:00
Volker Fischer
e037a90bcf
Added Support for instrument picture on fader tag
2013-02-11 15:53:52 +00:00
Volker Fischer
cc3547676b
Added Support for instrument picture on fader tag
2013-02-11 15:36:47 +00:00
Volker Fischer
0f976c4c4c
Added Support for instrument picture on fader tag
2013-02-11 15:21:53 +00:00
Volker Fischer
ead6092b56
code style changes
2013-02-11 15:06:00 +00:00
Volker Fischer
9e575960da
added instrument pictures
2013-02-11 14:59:27 +00:00
Volker Fischer
1d72847365
added files for instruments
2013-02-11 14:58:52 +00:00
Volker Fischer
cf84538b78
added CChannelAdditionalInfo
2013-02-10 08:52:19 +00:00
Volker Fischer
c6346fd875
update links in about dialog
2013-02-10 08:51:22 +00:00
Volker Fischer
ac8a93d9ea
added protocol message for additional client infos for client list
2013-02-10 08:50:43 +00:00
Volker Fischer
553beb64b5
code style
2013-02-10 08:44:47 +00:00
Volker Fischer
969b91da99
prepared everything for showing instrument picture together with the name text on the fader label
2013-02-10 08:44:01 +00:00
Volker Fischer
43d3225936
bug fix: the command line argument "-c" did not work anymore
2013-02-09 21:23:10 +00:00
Volker Fischer
a7895f88ea
update year to 2013
2013-01-23 10:41:13 +00:00
Volker Fischer
674881d7be
rename onjam.xcf to banner.xcf
2013-01-23 08:58:29 +00:00
Volker Fischer
4449f8b90a
new name
2013-01-23 07:58:51 +00:00
Volker Fischer
03a2940cfe
fix for utf-8 strings in protocol (it used to be just ACSII coded strings which is not according to the specification of the protocol)
2013-01-13 19:56:50 +00:00
Volker Fischer
2b5297fcdc
moved fix with "NOMINMAX" in the project file
2013-01-13 14:20:53 +00:00
Volker Fischer
dd1b97319f
qmake is now the one and only supported environment
2013-01-09 09:28:15 +00:00
Volker Fischer
f9ca26af0c
fixes for Qt5
2013-01-08 20:29:11 +00:00
Volker Fischer
547dbf8e9a
qt5 fixes
2013-01-08 19:26:05 +00:00
Volker Fischer
87aabee220
changed the qt includes to regular ones (without the .h)
2013-01-02 20:41:04 +00:00
Volker Fischer
ac5066066c
fix for Ubuntu compilation
2012-12-31 12:45:28 +00:00
Volker Fischer
2f153b6a8e
new cvs version
2012-07-15 14:23:36 +00:00
Volker Fischer
03694697c7
release version number
2012-07-15 08:00:19 +00:00
Volker Fischer
aada1a912f
introduce command line argument for enabling the ping of the slave servers in the list to keep the NAT port open (central server functionality only)
2012-07-14 16:18:09 +00:00
Volker Fischer
046cb18253
lower slave server register time (15 minutes)
2012-07-09 12:58:35 +00:00
Volker Fischer
fa52276fef
support for slave server messages to keep NAT port open
2012-07-09 12:53:40 +00:00
Volker Fischer
8a167d844b
- bug fix for endless ping message loop causing a lot of network traffic
...
- implementation of empty message sending in slave server to keep NAT port open
2012-07-09 12:52:23 +00:00