aboutsummaryrefslogtreecommitdiff
path: root/net/tcpserver.c
AgeCommit message (Collapse)Author
2015-05-01'#include <ws2tcpip.h>' for 'socklen_t'IOhannes m zmölnig
as found in other externals in this directory that use socklen_t svn path=/trunk/externals/mrpeach/; revision=17464
2014-11-10Changed t_int to int, added some verbosity.Martin Peach
svn path=/trunk/externals/mrpeach/; revision=17374
2014-02-13Possibly fixed some crashing when freeing resources, by checking for NULL ↵Martin Peach
before freeing. Added a verbosity message to control printout to console. Default is 0, or no output except errors. Fixed a bug with the [client n( message and non-existent client number. --This line, and those below, will be ignored- M tcpserver.c M tcpserver-help.pd svn path=/trunk/externals/mrpeach/; revision=17265
2013-05-20Added a port method to change the listening port.Martin Peach
svn path=/trunk/externals/mrpeach/; revision=17143
2013-05-19Check for space before accepting incoming connection, increased MAX_CONNECT.Martin Peach
Also changed print format for size_t from %d to %lu And commented out some unused variables. svn path=/trunk/externals/mrpeach/; revision=17142
2013-02-20fopen and fclose -> sys_fopen and sys_fclose for recent pdMartin Peach
svn path=/trunk/externals/mrpeach/; revision=17045
2011-10-21use auto-macro _WIN32 instead of Pd-defined macro UNIX, this means the build ↵Hans-Christoph Steiner
system doesn't need to set any macros to work properly svn path=/trunk/externals/mrpeach/; revision=15636
2010-05-08Incorporated ico's patch for threaded broadcasting.Martin Peach
svn path=/trunk/externals/mrpeach/; revision=13510
2010-05-06Added tcpserver_broadcast_bytes() to speed up broadcast by resending the ↵Martin Peach
buffer if < 65536 bytes svn path=/trunk/externals/mrpeach/; revision=13498
2010-05-05SO_REUSEADDR fixed cut-and-paste error for _WIN32 version.Martin Peach
svn path=/trunk/externals/mrpeach/; revision=13494
2010-05-04SO_REUSEADDR was not being set on linux.Martin Peach
svn path=/trunk/externals/mrpeach/; revision=13493
2010-05-01Fixed call to setsockopt( SO_REUSEADDR ), which was previously set false and ↵Martin Peach
ifdeffed for IRIX... svn path=/trunk/externals/mrpeach/; revision=13486
2010-03-29oops, undoing last commit; sorryIOhannes m zmölnig
svn path=/trunk/externals/mrpeach/; revision=13306
2010-03-29replaced &s_... by gensym("...")IOhannes m zmölnig
svn path=/trunk/externals/mrpeach/; revision=13305
2010-03-27Added output of IP address of disconnecting client at suggestion of Ivica ↵Martin Peach
Ico Bukvic ico@vt.edu. Removed send timeout message since each send is in its own thread and won't cause trouble if it hangs... svn path=/trunk/externals/mrpeach/; revision=13292
2010-03-24Added a flag that is set if sender thread can't create. This stops any ↵Martin Peach
further sends until an [unblock( message is sent to tcpserver. svn path=/trunk/externals/mrpeach/; revision=13253
2010-03-23Fixed NULL-pointer access bug in tcpserver_free() that caused trouble when ↵Martin Peach
closing a [tcpserver]. Free send parameters if thread fails to create. [tcpclient] posts "tcpclient_free" at start and end of tcpclient_free if verbosity==1. svn path=/trunk/externals/mrpeach/; revision=13243
2010-03-22check for NULL-pointer in destructorIOhannes m zmölnig
svn path=/trunk/externals/mrpeach/; revision=13238
2010-03-09Moved client-specific parameters into a single t_tcpserver_socketreceiver ↵Martin Peach
struct. svn path=/trunk/externals/mrpeach/; revision=13199
2010-03-09fixing bug #2966186IOhannes m zmölnig
svn path=/trunk/externals/mrpeach/; revision=13197
2010-01-04Had the wrong #include for ioctl...Martin Peach
svn path=/trunk/externals/mrpeach/; revision=12882
2010-01-02Changed MSW to _WIN32. Added tcpserver_send_buffer_avaliable_for_client()Martin Peach
using SIOCOUTQ ioctl in linux to see if send buffer has any room left. Apparently no equivalent exists for BSD or Windows. svn path=/trunk/externals/mrpeach/; revision=12874
2009-11-29Sender threads are now created in the detached state so their resources will ↵Martin Peach
be freed when the threads complete. This appears to stop the accumulation of handles on WinXP at least. svn path=/trunk/externals/mrpeach/; revision=12814
2009-11-28Removed duplicate send, added threaded send for files, and also send ↵Martin Peach
whenever buffer is full (65536 bytes) for incoming lists (although [tcpserver] is unlikely to be fed lists that long) svn path=/trunk/externals/mrpeach/; revision=12813
2009-11-12Using pthreads to send each message to each client in its own thread. This ↵Martin Peach
should eliminate hangups when clients disappear halfway through, and increase responsiveness of Pd with [tcpserver]. Messages are sent as one unit instead of byte-by-byte. Select() is no longer used to check for available space in the buffer. svn path=/trunk/externals/mrpeach/; revision=12760
2009-04-08Added [timeout( message to set microsecond timeout for send. This gives time ↵Martin Peach
for unusually small buffers to clear. Set default timeout to 1000us. Also prints a message if the whole send didn't complete. Updated help patch to match. svn path=/trunk/externals/mrpeach/; revision=10986
2009-03-09The 'sent' message now contains client number, bytes sent, socket number. ↵Martin Peach
Empty 'send' message triggers list of client messages on right outlet. Empty socket number message causes a client message on right outlet. Help patch updated. svn path=/trunk/externals/mrpeach/; revision=10852
2009-03-02Fixed some warnings about signed/unsigned variables.Martin Peach
svn path=/trunk/externals/mrpeach/; revision=10829
2009-03-02Fixed a bug that prevented the send routine from leaving the loop when no ↵Martin Peach
more data can be sent. Now it won't hang if you try sending to a recently disconnected client, honest! svn path=/trunk/externals/mrpeach/; revision=10828
2009-03-02tcpserver_send_buf: send only one byte at a time into the buffer to avoid ↵Martin Peach
buffer overflow. This should not slow the whole thing down too much since we're already passing things one byte at a time. svn path=/trunk/externals/mrpeach/; revision=10827
2009-03-01Added a [clientbuf( message to set the send buffer size for that client. ↵Martin Peach
Also the [client( message will output the current buffer size as well as the socket and ip for that client. Help patch updated. svn path=/trunk/externals/mrpeach/; revision=10824
2009-02-24Adds a status outlet which currently gives info about connected clients and ↵Martin Peach
the amount of sent data. svn path=/trunk/externals/mrpeach/; revision=10812
2009-02-23Fixed select call so it works properlyMartin Peach
svn path=/trunk/externals/mrpeach/; revision=10810
2009-02-22include errno.h for linuxMartin Peach
svn path=/trunk/externals/mrpeach/; revision=10806
2009-02-22Removed some commented-out stuffMartin Peach
svn path=/trunk/externals/mrpeach/; revision=10805
2009-02-22Checks to see if a socket can be written to before sending. If not, prints a ↵Martin Peach
message to the pd window and doesn't send the data. svn path=/trunk/externals/mrpeach/; revision=10804
2008-05-07removed svn:executable-flagIOhannes m zmölnig
svn path=/trunk/externals/mrpeach/; revision=9769
2008-03-27No limit on sendable file size.Martin Peach
svn path=/trunk/externals/mrpeach/; revision=9628
2008-03-20Added dump message for hexdump of received characters to main window.Martin Peach
Added #include <sys.types.h> for u_long define. svn path=/trunk/externals/mrpeach/; revision=9611
2007-08-06Closing socket should actually work now. Before it was just removing it from ↵Martin Peach
the list. svn path=/trunk/externals/mrpeach/; revision=8439
2007-08-02Added disconnectclient and disconnectsocket methods so server can close ↵Martin Peach
connections too. svn path=/trunk/externals/mrpeach/; revision=8347
2007-07-23Removed unused static binbuf that caused occasional crashes when ↵Martin Peach
reinstantiating the object. Thanks IOhannes for pointing it out! svn path=/trunk/externals/mrpeach/; revision=8211
2007-06-20Implemented IOhannes' list sendMartin Peach
svn path=/trunk/externals/mrpeach/; revision=7789
2006-12-12removed the "break;" statement in the broadcast() code to enable broadcastingIOhannes m zmölnig
to all connected clients (and not jsut the first one) svn path=/trunk/externals/mrpeach/; revision=6815
2006-11-28changed MAX_PATH to FILENAME_MAXMartin Peach
svn path=/trunk/externals/mrpeach/; revision=6491
2006-11-07added file sendMartin Peach
svn path=/trunk/externals/mrpeach/; revision=6223
2006-08-24Renamed files without x_net_ prefix.Martin Peach
Removed extra copies of tcpserver and tcpclient svn path=/trunk/externals/mrpeach/; revision=5726