Anyone recommend best place to post boost:asio question? Didn't think this forum is the right place but maybe it is.
Alan Kurlansky
Posts
-
boost:asio -
encryption using VS C/C++Thanks. I'll check that out.
-
encryption using VS C/C++What would be an easy way to encrypt/decrypt userID/password data coming in from potential remote user to a secure server? Phase 2 might include encrypting the subsequent data flow as well. Any ideas would be appreciated. Thanks
-
interthread messaging in VS/c/c++Thanks, I like this solution. Additionally I'd need to manage shared access with mutexes.
-
interthread messaging in VS/c/c++What's the lightest and easiest way to pass a message from on thread to another? The sender thread must be able to do this asynchronously so there's no to minimal time delay. The receiving thread will retrieve the thread and write it to a file. The goal here is to concentrate the hiccups associated with disk i/o to the one logging thread, so that the other working threads are not hiccup prone. It's okay that the logging thread is hiccup prone since that is all it's responsible for. Thanks for any help with this.
-
preallocating logging files for performance purposesI'm looking for some VS c++ code that 1) preallocates a file 2) opens a preallocated file for sequential writing starting at the beginning of the file 3) writes(appends) ascii message strings to the file. Thanks
-
Solid State DrivesThe original response talks about preallocating files. I'd like to try an experiment with this approach and just see what the improvement is. Can anyone suggest some VS c++ code that will accomplish this. 1) preallocated file creation, that would be reused with each running of the program 2) code that opens the file 3) code that sequencially writes ascii data msgs to the file starting at the beginning. Thanks
-
Solid State DrivesThe original response talks about preallocating files. I'd like to try an experiment with this approach and just see what the improvement is. Can anyone suggest some VS c++ code that will accomplish this. 1) preallocated file creation, that would be reused with each running of the program 2) code that opens the file 3) code that sequencially writes ascii data msgs to the file starting at the beginning. Thanks
-
Solid State DrivesIn a Windows C++ environment during writing to a log file I observe a periodic hiccup of approx 16 milliseconds in between writes. So I wrote a little function that writes out 20,000 sequentially numbered messages using a while loop. Approximately every 3000 to 4000 messages I see a 16 millisecond delay. This is with no programmatic flushing. With flushing after each write it happens after approx. every 2000 messages. How can I get around this recurring hiccup? Would a solid state disk solve this problem? Or at least dramatic reduce the hiccup time? Thanks ak
-
VS/C++ runaway process debuggingHow could I find out where a runaway process is looping? I can attach to the process using the VS debugger but not clear where to go from there. (Also, I tried to get a dump at that point but got a permanent hourglass and had to kill the VS session.) Or is there a way at some higher level to kill the process and cause it to take a crash dump that could later be analyzed?
-
boost ::asio:async_read_until usage/question from a newbie boost userHi, Just started using the boost libraries to do asynch i/o and not sure if this is the best forum for this but will post anyway. First question I am specifying a delimiter character in the call but when I display what I get back it looks like it is also implicitly returning when a LF \'n' char is reached even though this isn't my delimiter. Could this method have default delimiters that need to be managed? I haven't seen this in the documentation so far. Secondly, the second argument in the call is a "boost::asio::streambuf b". What's the best way to extract the message from the buffer and put it into an std::string? I've played around with: size_t n = b.size(); b.commit(n); std::istream is(&b); std::string s; is >> s; But now sure what's going on under the covers here. Any help would be appreciated. Thanks ak
-
windows c++ fstream log file rolloverSorry about that. But I was able to get things to work by reducing the scope of the file management. Now I am opening, closing, renaming the file all from within a function, using all local and local static variables.
-
windows c++ fstream log file rolloverIn my current VS C++ app I create an fstream log file for output and all works fine. It's initialized in the constructor declaration. Now I want to close it and start a new one upon the log file reaching a size limit. I've tried a number of things with no success. One approach was to not initialize in the constructor and use .open. That didn't work. Another was to go back to initialize in the constructor, then close, and rename, and open again. That didn't work either. Either I am missing some key point here or just doing some samll thing incorrectly. Any help would be appreciated. Thanks
-
re: winsock multiplexed server using select()I have a VS C++ server app that listens for client tcp connections, maintains them in a table, and when the server app receives a message from an app it is a proxy for the server app sends the message to each tcp connection. There will be no more than five connections and the message rate is less than one per second. Now I need to be able to also read any messages coming in from the clients over the same connection. So on one thread, the main one, I am receiving and forwarding msgs from the app I am proxy for to the clients; on another thread I am listening for any new connections; and now I would like to listen for client input from any of the connected clients on a 3rd thread using select(). I maintain a list of all my active connections. Can anyone provide and example using select() that sketches out how to do this. Thanks
-
re:looking for winsock listener tcp c++ example that supports multiple potential clientsLooking for c++ winsock example code that will enable the following: Allow for multiple clients each on a different machine ie different ip address to connect in. I would like to listen on the same port for all clients and also once connectivity is established be able to send and receive using this same port for each and all the connections. Currently, with the code I have written connections seem to get established and I initially receive data from the client but when I attempt to send to client I do not get any errors but the client isn't receiving my message either. Then when viewed in Wireshark I see that the messages are associated with "ezmessagesrv". Something to do with unknown caller. One question, the server socket I use to establish the bind and listen, once the accept returns successfully with the new client socket connection should I close the server socket (the one I use to do the listening) and reinitialize before attempting to listen for other client connections?
-
re:lookng for winsock tcp communications exampleLooking for c++ winsock example code that will enable the following: Allow for multiple clients each on a different machine ie different ip address to connect in. I would like to listen on the same port for all clients and also once connectivity is established be able to send and receive using this same port for each and all the connections. Currently, with the code I have written connections seem to get established and I initially receive data from the client but when I attempt to send to client I do not get any errors but the client isn't receiving my message either. Then when viewed in Wireshark I see that the messages are associated with "ezmessagesrv". Something to do with unknown caller. One question, the server socket I use to establish the bind and listen, once the accept returns successfully with the new client socket connection should I close the server socket (the one I use to do the listening) and reinitialize before attempting to listen for other client connections?
-
windows Visual Studio C++/Visual Basic file lockingWhat would be the best way to have a C++ program write(append) to a file and at the same time have a Visual basic program read sequentially all that's been written and when it reaches EOF wait for more? How would file/record locking be used to accomplish this?
-
winsock connect() and how to reduce intial timeout value from, 3 seconds to 1 second or lessIf possible what is the easiest way to reduce the connect inital timeout value from 3 seconds to 1 second or less? The excerpt below reduced the retries which is not good enough for my purposes. Any suggestions would be appreciated. Thanks "Now, the initial timeout value - before the first connection attempt - is 3 seconds. After each retry, the amount of time to wait is doubled (3 seconds, 6 seconds etc.). The number of retries can be configured via the 'TcpMaxConnectRetransmissions' parameter in the registry - the default is set to 3 for Windows NT and 2 for Windows 2000. Thus, the first solution to the connection timeout problem is, to adjust this parameter via the Registry. However, changing the registry is a global change, affecting all applications that use Winsock and/or TCP/IP. The following Knowledge Base article (http://support.microsoft.com/default.aspx?scid=kb;en-us;120642) provides detailed information. Nevertheless, one should be careful while playing with these parameters."
-
debugging sprintf -VS/C++Is there a tool available to process source code to detect mismatches between the sprintf format string and the arguments that follow? For example specifying a %s and neglecting to provide a c string to satisfy it, etc. I use hundreds of sprintf's to format log messages and am looking for a way to insure correctness without eyeballing each and everyone of them. When this happens during runtime in my code the program thread seems to hang and when it's the main server thread the other secondary threads cease to get serviced and as they are designed to timeout, they do, and a programmatic exit occurs.
-
re:Windows VS/C++ and exiting with debuggable/traceable outputHey guys, thanks for your feedback. I'll try out these suggestions.