How To Dynamically Allocate Buffer For Receiving UDP Socket

Feb 20, 2010

A friend and I are working on a project where we're required to build a reliable UDPclient/server using VB.Net. We have things working well, but one thing that still eludes us is how to dynamically allocate a (byte) buffer for the incoming data. Right now we have to hard code a maximum value/MTU (or use a really large buffer size and resize it once we've finished receiving). Does anyone know of a way that this can be done without needing to specify the receive buffer size?

Basically, before calling the receive function on the socket with a buffer of size x, we want to know x so we can allocate an appropriately sized buffer. Perhaps this is a problem in all socket programing that you just have to deal with??

View 1 Replies


ADVERTISEMENT

Dynamically Allocate Group Boxes & Buttons

Mar 10, 2012

I am currently trying to allocate a number of group boxes dynamically. Previously (in other languages) when I have carried out something like this I have used the '&' to substitute the contents of the variable direct into the code I.E

For I = 1 to 20
Groupboxname = "GroupBox"+I
Weatherstates.&groupbox.controlls.add(obutton)
next

This would then have the result of creating a button in all the group boxes, however this does not appear to work in VB .net 2010

I have looked at Directcast, but i am a even more confused. Is there a simple way to substitute the contents of a variable into the code ?

View 12 Replies

Sockets - Receiving A Large Buffer?

Apr 22, 2009

(First time trying to do socket programming ) I'm trying to read a large buffer using sockets. Is there anything wrong with this psudo code?

DO
mySocket.Receive(buff) ' temporary buffer, discard the data
WHILE (mySocket.Available > 0)

it terminates after the first iteration because, I suppose, it reads the data faster than the sender is sending it, and Socket.Available will be 0 (if i break the debugger and step through it, it receives the whole buffer). How can i make the Receive call block until more data is available? (I've tried setting Socket.ReceiveTimeout, but it doesn't seem to do any good)

View 3 Replies

How To Find Socket Buffer Size

Jan 4, 2009

I have connected to a host, but how do I find the correct buffer size? (The Buffer is currently set to 8k (8192))
Dim webget As New Net.Sockets.Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)
webget.Connect(host, port)
webget.Send(data, 0, data.Length, SocketFlags.None)
Dim rData(8192) As Byte
webget.Receive(rData, rData.Length, 0)

View 14 Replies

Data Receiving With Socket?

Sep 27, 2011

i am working on 3rd party chat software, when ever i send data to server i get incorrect buffersize of data. like when i convert that data to hex to matching header for splitting data i got huge lengths data

in the above textbox of image i have got some 0000000000000000000.... with the hex data, how can i get only only original data. The code i have used to receive data is

[Code]...

View 1 Replies

VS 2010 Socket Chat Is Not Receiving On Java Server

Aug 17, 2011

I am making a java chat server, and a guy was able to connect to it no problem (however, he logged off for the night before I ran into any problems, so I couldn't see what he did). Here is my code on the VB form:

[Code]....

View 5 Replies

.net - Socket.AsyncSend Behavior When Remote Client Stops Receiving

Mar 6, 2011

I'm running into an issue where I have a lot of AsyncSends going on with dozens of client sockets, and at the moment if any remote client stops receiving but doesn't actually disconnect, the app quickly eat sup all of the SocketAsyncEventArgs (aka an sae) I have preallocated because they're not released since the SendAsync is not completing. The obvious solution to this is to implement a per-client send queue, which sounds easy enough but I am unclear as to the specifics. I have one sae allocated per client to receive, which works perfect, and ideally I'd love to allocate a single sae to the client's async sends.

I understand popping in and asking a question that is veiled request for a 'give me code' solution is looked down upon, but I honestly have not been able to turn up a lot, either on the .XAsync methods, which Microsoft has a horribly poor example for, nor for a send queue in general.

Edit for @J.N.

I forgot to mention it, but I -am- actually using a bunch of preallocated sae's stored in a managing class that internally uses a ConcurrentBag. With one connection, in a test scenario where 20 small messages are sent per second (this is slightly more than double how many messages would actually be sent in the production server), the server eats up 500 preallocated sae's in a few seconds. If I implement 'create if empty' code, the sae count quickly climbs into the thousands.

I understand the functionality that the async methods of the Socket class provides, but if there's a network hiccup or something similar, this issue will outright bomb the server within seconds. A send queue sounds like an great solution, but I have no idea whether it's a good idea to do in a high performance production environment or not.

The base problem remains, though, that with a dozen messages per second per client being sent out, any network congestion or other factor that lags the connection but does not disconnect it will quickly deteriorate into a laggy mess.

I think a solution I might be looking for is something that locks up the single sae being used for sending until the completion callback is reached, where that sae is then unlocked and then reused to send any pending data. The actual implementation of it eludes me though.

View 1 Replies

2005 - Discard The Contents Of A System.Net.Sockets.Socket Send Buffer Using TheSocket.IOControl(IOControlCode.Flush

Jun 10, 2012

I'm attempting to discard the contents of a System.Net.Sockets.Socket send buffer using theSocket.IOControl(IOControlCode.Flush, .... Does anybody know whether VB.NET supports this command? I've tried supplying 'Nothing' and 'Nothing' for both required parameters, also empty and populated byte arrays in combination with 'Nothing' for both required parameters, but I consistently get an 'Invalid argument' exception. I've tried a web search for an answer, but the only mention I've found was a question asked about 8 years ago, with still no answer.

View 1 Replies

Socket Programming And Telnet Class For .NET To Simplify The Sending And Receiving Of Data?

Sep 28, 2009

I'm writing a GUI-based app in VB.net that talks to a LambdaMOO server via telnet, sends commands to display the object hierarchy, then parses the output and creates a visual representation of the object hierarchy.So my question is: is there some kind of "telnet client" class for .NET to simplify the sending and receiving of data, or do I have to write my own using the socket API?

View 7 Replies

Buffer Cannot Be Null - Parameter Name: Buffer

Dec 15, 2011

[Code]...

This is my code for retrieving pictures, it was working before but then i accidentally deleted the table and i created it again with the same name and same fields. and now whenever i open the form with the picture, there was a message box error. it says Buffer cannot be null. Parameter name: buffer I don't know what i did wrong.

View 5 Replies

Identify Connection Lost Between Socket Server And Socket Client?

May 21, 2011

I wrote a Socket Client which will send the Socket Server some data and get some response from Server. This process will be running once in every 2 seconds.

Now what I need to know is How we can identify the connection lost between Server and Client?

I need this to be implemented in the Client side. If there is no connection then Client should automatically close the connection. Once the connection with the server is available in the next attempt it should connect automatically.

View 1 Replies

Allocate Chunk Of Memory?

Jan 4, 2012

does visual basic have any function to allocate a memory by specfying the size of it? I just want to experiment with it, like see what happens when i allocate 2GB of memory on my p3 MHz 512MB ram box =) I know obviously it will crash or have high page file access.

View 8 Replies

Can AllocHGlobal Allocate More The 2GB Of Memory

Aug 21, 2009

I have resorted to using the Win32 API calls VirtualAlloc/VirtualFree to allocate and release memory blocks greater than 2GB in size.

I should be able to use the AllocHGlobal function from the System.Runtime.InteropServices.Marshal class to do the same.

However, the following code gives an arithmetic overflow exception (note the explicit cast to long which should instance a 64 bit pointer).

Dim p As IntPtr = System.Runtime.InteropServices.Marshal.AllocHGlobal(New IntPtr(CLng(3221225472)))
System.Runtime.InteropServices.Marshal.FreeHGlobal(p)

So my question is, Can I use AllocHGlobal to allocate more than 2GB of memory?

View 1 Replies

Could Not Allocate A New Page For Database

Apr 18, 2012

I am trying to connect to an online database using the following code:

Imports System.IO
Imports System.Data.SqlClient
Public Class frmMain

[Code]....

It gives me the following error:

Could not allocate a new page for database 'databasename' because of insufficient disk space in filegroup 'PRIMARY'. Create the necessary space by dropping objects in the filegroup, adding additional files to the filegroup, or setting autogrowth on for existing files in the filegroup.

View 1 Replies

Resize Vector In Program - Allocate Memory

Sep 13, 2010

I have a program in C++, that is doing some calculations. I use a vector in C++ and resize the vector in the program, in order to conserve and allocate memory. Can you allocate memory in vb.net? So if my user inputs 1000, I want an array/vector to have a size of 1000. Can I change the size of the vector in the program? And is there a difference between container types in vb.net, I was just assuming
Dim xx(1 to 1000) as double, is the standard way of declaring.
And resize xx(1 to N) would be the way to resize.
I am using visual studio 2008 express.

View 17 Replies

Once Allocate Arrays Is The Memory Allocated For Them Immediatlyy Or Once Add Data To The Array?

Feb 11, 2012

Once i allocate arrays is the memory allocated for them immediatlyy or once i add data to the array? like say i create an integer with 400 million arrays (lol) would visual basic allocate memory immediately for each of the 400 million arrays or once there is data allocated to one of the 400 million arrays, say when i put the number 4 in the 100th array.

View 1 Replies

Client Socket - Send Message Through Client Socket Receive Specified Argument Was Out Of Range Of Valid Values

Oct 15, 2011

Below is my code, but when i send the message thru client socket i receive Specified argument was out of the range of valid values. Parameter name: size

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Dim serverStream As NetworkStream = clientSocket.GetStream()
Dim outStream As Byte() = _
System.Text.Encoding.ASCII.GetBytes("0800822000000000000004000000000000000920092126012345001")

[CODE]...

View 1 Replies

Create Another Six Textboxes / Same Time Allocate These Numbers In Ascending / Descending Numbers.

Jun 21, 2010

I have six textboxes, and upon button press it randomly generates six numbers, one in eact text box e.g. [43] [85] [93] [1] [0] [17]..i create another six textboxes and at the same time allocate these numbers in ascending/descending numbers.I am not looking for any codes whatsoever, as i love the challenge of VB.Net.

View 2 Replies

Double Buffer Or Not To Double Buffer?

Apr 17, 2010

To Double Buffer or not to Double Buffer this is the Question!I have a form with Protected Overrides Sub OnPaint that sets forms background to a gradient fill ,on top of that is a transparent richtext box.
Ok. now here`s the problem ,If i enable forms double buffering the transparent Rtb doesn't flicker when forms resized. but the forms drop shadow does flicker! ,its a boarderless form using CS_DROPSHADOW to draw the drop shadow Now if i disable double buffering the forms drop shadow doesn`t flicker but the transparent Rtb does ,any one have a clue how to get both to work in harmony !

View 3 Replies

Dynamically Creating Methods For Dynamically Created Buttons?

Mar 15, 2011

I have this code.

Code:
Public Class Form1
Dim NPB As Button
Dim x As Integer

[code]....

As you can see, when I open a program from my menu, a new button will be created with text similar to this, "C:Program ". The button it self will not do anything. How can I create the method at the same time the button it is for is created? Also how can I change the text do that it gives me, for example, CCleaner.exe instead of the whole target path?

View 14 Replies

ASCII To HEX Buffer Converting?

Sep 16, 2009

The reply buffer is in ASCII value...but I need is HEX value.Is there any way that the reply buffer is in hex?

Code:
Public Function read_write_string(ByVal devicehandle, ByVal command, ByVal commandlenght) As String
Dim inputReportBuffer(100) As Byte
unManagedBuffer = Marshal.AllocHGlobal(inputReportBuffer.Length)

[code]....

View 4 Replies

Buffer 28 Bytes From The Com Port?

Apr 21, 2010

I have a problem that i cant solve i am trying to buffer 28 bytes from the com port into the array actual_packet_VPS1(30). It works with the counter set to 0 - 15 but doesnt work when we increase the counter size to 0 -28.

Private Sub MSComm5_OnComm(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles MSComm5.OnComm
Dim buffer As Object

[Code].....

View 2 Replies

How To Double Buffer A Flowlayoutpanel

Jan 12, 2012

I have a need to double buffer a flowlayoutpanel. I have the form set to doublebuffered which is half the story but their is no property in the list to make the flowlayoutpanel do this (although MSDN states that it has this property) how i can set it to true for the panel?

View 5 Replies

Playing Video From Buffer?

Apr 29, 2012

Im trying to do a video player but i have to play this video from the buffer, is this possible.. Let me explain you much more complicated,a got a CryptoStream and im decryting the video

While lngBytesProcessed < lngFileLength
'Read file with the input filestream.
intBytesInCurrentBlock = fsInput.Read(bytBuffer, 0, 4096)
'Write output file with the cryptostream.

[code]....

This code writes my decryted or crypted video to a new file. However, i need to play the video file from the buffer(without copying to a new file), in other way it would be meaningless if i create a decryted file. in other words it would unsecure for me cuz if anyone can locate my temp directorey they can copy my decrypted video files.

View 5 Replies

Process The Buffer - EOF Expected

Jul 9, 2011

Dim Fs as FileSystemObject
Dim TS as TextStream
Set Fs = CreateObject("Scripting.FileSystemObject")
Set Ts = fs.OpenTextFile(textFilePath, ForReading, False,
TristateUseDefault)
While not Ts.AtEndOfStream
Buffer=Ts.ReadLine
' Process the buffer
Wend
Ts.Close
Fs.Close
I tried to convert into c# but am getting ERROR like EOF expected, what I have to do?

View 3 Replies

Streaming To A Buffer And Then Using Data?

Jul 31, 2010

I am using VB.net sockets to send a music file from one instance to another. It currently saves the file, but I do not want to be caught up in file-sharing, so I want to "save" it to a buffer, and when it gets to a particular percentage transferred, I want another thread to play the music file, deleting it from the buffer as it plays. I have the code to send it over the network, but I need to know how to keep it in a buffer and not save it as a file.

View 1 Replies

VB To .net Conversion Buffer String?

Sep 3, 2011

I've looked and looked + tryed debugging but I'm not getting anywhere fast I'm trying to import a usb radio driver and I'm 99% there. I can turn it on / off and get / set the freq.. but I'm struggling to get the rds name from it. The VB code for the function is

[Code]...

View 7 Replies

.net - High Speed Circular Buffer?

Jun 8, 2012

I have been asked to improve the memory efficiency of an application that is used for high speed data acquisition. After running the VS memory profiler several times and scanning the projects for obvious issues I came to the following conclusion: despite using a fixed size circular buffer for storing acquired sample points, the RAM usage increases relative to the polling period. For example: polling data for one signal at 2 microseconds can use 5 times more memory (private bytes) than when running at 50 microseconds ... even though the buffer size is the same.

The circular buffer is an array of SamplePoint objects. Each of these objects contains an array of Shorts (16 bit) for corresponding data per signal and one date object (8 bytes) for the time stamp. For efficiency, the circular buffer is Redimmed only once every time it begins polling and filled with empty sample points which are then "assigned".

Also, it seems that when we stop and run the application it hogs even more memory each time as though the Redim is not releasing the previous array. My questions boil down to the following: What is most memory efficient way of implementing a circular buffer containing managed objects which have arrays?Also, how and why is memory usage increasing with a fixed size array with different polling speeds? Does the garbage collector not have time? Do local variables get disposed of IMMEDIATELY when a sub or function exits?These are some of the doubts and concerns that I would like to rule out before proceeding.

[Code]...

View 1 Replies

.net - Make A Packet Using Dim Buffer As Byte()?

Mar 7, 2012

basically I'm sending and receiving both images, strings and files over a client/server connection. I can easily use a protocol for string commands but I cannot distinguish between the incoming data [if data is image or whatever and then follow onward instructions].So how do I make a packet using Dim buffer as byte()?

View 2 Replies

Create A Circular Buffer On The Heap?

Feb 24, 2010

How can I create a circular buffer on the heap in VB.NET ? This would be used for audio playback via P/Invoke to winmm.dll waveoutopen and waveoutwrite to support development of a software synth. I currently use the marshall class to build a regular array of bytes in the heap.

View 1 Replies







Copyrights 2005-15 www.BigResource.com, All rights reserved