.Net Properly Shutdown An Asynchronous Socket Server Running On A Background Worker?
Mar 21, 2012
I have a Class called SocketSvr which handles an asynchronous socket server. It is called via the BackgroundWorker from my main form. Basically, I just want it to display my socket data information inside a textbox in the main form, and have a server start/stop button available on the main form to do those things.
Here is the code from Form1.vb:
Public Class Form1
Dim WithEvents Socketsvr As New SocketSvr
Private Sub ToggleServerButton_Click(ByVal sender As System.Object, _
[code]....
I am uncertain how to properly shut down requests from the client when the StopServer() function is run. In the code above, I place a cancellation queue for the background process. The funny thing is that once StopServer() is run, it will accept one more connection, then stop accepting thereafter.If I remove the following line from the code above:
listener.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, 1)
-- it crashes when I attempt to start the server a second time (complaining that I cannot reuse the socket, obviously) My guess is that I need to add something to the bw.CancellationPending call on the background worker?
View 1 Replies
ADVERTISEMENT
Jul 8, 2010
Im using Vb.net visual studio 2008. i have got a process(system.diagnostics.process) to be run in background and it updates the Ui thread progressbar and a label and i have worked it using backgroundworker.runworkerAsync. Now the problem is i have to work the same process for a number of time with different inputs.
The code block is :
Private Sub fnStartEvent(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnStart.click
Dim inputFolder = Directory.GetFiles(textboxSourceFolder.text)
Dim currentNumberOfFile As Integer=1
[code]....
The problem in here is the fnStartEvent method once gets started, it calls BackgroundWorker1.runWorkerAsync process and that runs in a seperate thread and does not wait for the thread to complete and it moves to the next line of code i.e loops to the next item and it returns to same BackgroundWorker1.runWorkerAsync line and throws exception that it is already running.
Tried
1.
Private Sub fnStartEvent(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnStart.click
Dim inputFolder = Directory.GetFiles(textboxSourceFolder.text)
Dim currentNumberOfFile As Integer=1
[code]....
But this does not updates the Ui thread used to denote progress.
2.Put the whole process inside the DoWork thread and loop for each file in there itself, but that to returns the cross thread error in progress bar updation.what is the standard procedure in executing a loop for the backgroundworker to wait for finishing as well as update the UI without blocking it.
View 1 Replies
Feb 2, 2011
I am facing problem in asynchronous socket communication.
1)I wanted to perform connect(from client to server) operation on enter button and send the data whatever client want to send and disconnect from server. And again client should get connect to server whenever client wanted to send data. this is the mechanism.
i.e how to reuse the socket.
2)Again Server should able to send the data to client.
View 5 Replies
Sep 21, 2010
I m developing an application in vb 2008, and using background worker to copy file(s). I have my own designed form which plays an animationon on the top of the form along with copy. For playing animation i m using "AxMSComCtl2.AxAnimation", on execution i get
"ActiveX control '' cannot be instantiated because the current thread is not in a single-threaded apartment." On search i found a link :Forum Link
But still in this link Firstly i dont understand where to insert this snippet and secondly how to implement the idea on background worker.
View 2 Replies
Jun 30, 2010
I wanted to know what are the risks of opening up a socket server on a specified port? Right now I have it limited to only accept requests from 1 specific IP to that port and all the other ones get rejected (using the windows firewall), is there a way to implement an authentication or anything else so I can allow it to be accessed from any IP worldwide yet have it secured?
View 1 Replies
Feb 23, 2010
i'm creating an Asynchronous socket programming in vb.net. i've utilised the code from Asynchronous client and server code frtom the following links:m a new user so could post only one link fully)When I try to connect the for more than one client the second client always waits until the first clientcompletes the call. i want the clients to accept calls at the same time
View 1 Replies
Feb 6, 2011
I have closed the client socket using client.close() but netstat command shows the same socket in time-wait state.Because of this I am unable to reuse the socket..
View 2 Replies
Mar 11, 2009
I have the following code that adds a background worker into a VB.net WPF project:
Imports System
Imports System.ComponentModel
Imports System.ComponentModel.BackgroundWorker
[Code].....
And I get the following error for the DoWork worker event:
Handles clause requires a WithEvents variable defined in the containing type or one of its base types.
It seems like it's missing something in the Event declaration, but can't find it.
View 3 Replies
Nov 1, 2011
I've got a List(Of IWorker) which contains a number of concretes. IWorker in turn has a Startup() and Shutdown() method.Inside the Worker class, Startup() creates a new worker thread then returns. Shutdown() presently sets a private ShutDownRequested flag and returns. The flag is checked by the worker thread (at worst every few seconds).This all works fine but at present the parent app has no way to determine if the Worker has finished shutting down.I can see a number of ways around this but am not sure what the best one is.Add a State property to IWorker. Should work but I'm going to be polling states which seems a little nasty.Make the shutdown command blocking - Would probably be my ideal solution but I'm not sure how to implement it - does the worker Sunclock a private object which Shutdown() should also try to Synclock after setting the flag?
View 3 Replies
Nov 23, 2011
I am attempted to write a small asynchronous socket library that I can use to create a client/server application. I can get all of the code to run fine if I leave it in the form, however if I try to move it out into its own class, I cannot figure out how to update the form with connection status, things like that. Below is code, shortened a bit just to make this easier to read and type.
[Code]....
There is actually more to that class, but I never get anything after the first message goes out. I'm not sure where to go from here. I've tried lots of different methods that I've found on the google searches, some from here, some not.
View 1 Replies
May 3, 2012
I am using query from a SQLite database as the AutocompleteCustomSource for a ComboBox. Also, I want to load data in separate thread. My LoadData method works fine when called directly, but it fails when it is called from the BackgroundWorker thread. When it is called from the background thread, it throws a Specified cast is not valid exception on the csearch.AutoCompleteCustomSource.Add(hh("Taj")) line. Below is my code:
Sub LoadData()
Dim connetionString As String
Dim cnn As SQLiteConnection
[Code].....
View 4 Replies
May 18, 2010
I'm trying to create an app with a GUI to run at a specified time (handled by Altiris) to run a locally stored program to give the user a specified amount of time to close the task, otherwise the computer is forced to log off destroying any unsaved information. The code I have looks to work, when built it shows no errors, but when I pull the executable (using VS 2010 Express) after the time expires I get a Windows Application Error for the program stating:
The Application failed to initialize properly (0xc0000142).
The code I'm running is:
Imports System
Imports System.Timers
Public Class Form1
Private Shared Shutdowntimer As System.Timers.Timer
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
[Code] .....
View 6 Replies
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
Jul 15, 2011
I'm writing an application in Visual Basic Express 2008, part of the function being to walk through a folder structure starting from a user specified folder. In my research, I found this thing called a background worker which seemed an appropriate tool to use given the potential size of a target folder structure. I successfully installed the two examples from the library here, and believe I understand the principles involved. Even so, having tried to build this feature into my application, it seems as though it is not working as expected, and, as predicted, debugging a multi-threaded application is a pain in the extremity.
I have this fragment under my "start" button click event -
HomeSource.Enabled = False
HomeCopy.Enabled = False
HomeReport.Enabled = False
[Code].....
View 16 Replies
Jul 18, 2010
im thinking just because an app has been sent ton system tray does not mean its a "back ground worker"
View 1 Replies
Jul 8, 2009
I have recently made a program but while it is running the pc is unable to shutdown, i have used the followin code, so the application minimizes while closing:
Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As FormClosingEventArgs) Handles Me.FormClosing
Me.Visible = False
e.Cancel = True
End Sub
Dont know if this is preventing it 0_O??? is there any alternative to this?
View 3 Replies
Jul 8, 2009
I have recently made a program but while it is running the pc is unable to shutdown, i have used the followin code, so the application minimizes while closing:
Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As FormClosingEventArgs) Handles Me.FormClosing
Me.Visible = False
e.Cancel = True
End Sub
Dont know if this is preventing it 0_O??? is there any alternative to this?
View 11 Replies
Jun 7, 2012
my backgroundworker as I just cant get it to work. Basically I have a backgroundworker which does a few tasks but I'm trying to implement a progress bar and a label. I'm going to set the maximum value of the progress bar to 10 and then have it updating as I move with each task, also I'm thinking of a label with the progress bar which will display the progress ie
[Code]...
View 2 Replies
Oct 7, 2009
I'am trying to make app that will show every file in C:[code]Now how can i add progress bar with the background worker.
View 31 Replies
Nov 20, 2008
I have a background worker that used to fire its RunworkerCompleted event when its DoWork routine finished querying a database and writing its output to a file. The bg worker was in a class called Query, which was called from another class called Trigger. A new Trigger Class was created for each monitored event. In this class, there was a structure which stored the config of each Trigger. When this event was triggered (set to TRUE) a new query class is created and it is passed the Trigger class. When the database query, file writing was done, the query class and all its rsources were diposed from the RunWorkerCompleted EventRecently I changed the application so that a new trigger class is not created for each monitored event. There is a single instance of the class but new config structure for each event. When a particular event is trigger, jsut the config structure is passed to a new query class and the sma ething is done in the query class. I just noticed now that the RunWorkerCompleted event is not being fired anymore.
View 5 Replies
Apr 15, 2009
I have an issue that I can't seem to find a straight answer for anywhere... I have a For loop that sends a file name to a background worker that contains some long running code and I can't find a way for the parent thread to wait for the background worker to finish... Here is the example code:
For 4
BacgroundWorker1.RunWorkerAsync(fileName(i))
Next
[code].....
View 2 Replies
Sep 21, 2009
I have run into this before, When I develop a form to use a background worker to fill tableadapters, the background worker does fine on machines running Vista, but if you run the same thread on an XP machine, the thread gets hung.All the thread is doing is filling a table adapter like this.[code]Why would this run on a Vista machine and not an XP machine?
View 1 Replies
Apr 27, 2010
I have created a background worker to go and run a pretty long task that includes creating more threads which will read from a file of urls and crawl each. I tried following it through debugging and found that the background process ends prematurely for no apparent reason.
While Not myreader.EndOfData
Try
currentRow = myreader.ReadFields()
Dim currentField As String
[code]....
This first bit of code is the loop to input from file and this is what the background worker does. The next bit of code is where the background worker creates threads to work all the 'landingPages'. After about 10 threads are created the background worker exits this sub and skips the file input loop and exits the program.
Try
For Each landingPage As String In landingPages
pgbar.Timer1.Stop()
If VisitedPages.Contains(landingPage) Then
[code]....
Also my main thread runs a forms from where this background is called to run but the main thread is supposed to wait for the background process to end unless the user selects another option from the main form.
View 1 Replies
Jan 11, 2012
I've been experimenting with background worker to maintain responsiveness and to allow the UI to update while things are being done in the background.I've been having problems getting the background worker to do anything with form controls.For simplicity lets say I have form1 and form2.The background worker is on form1Initially I couldnt get it to edit controls on form1 but by using [code]However the problem came when I tried to get the same background worker to update controls on form2, in this case a text box. With the above code there is no error but it also does not update the text box.Is there an easy way to give a background worker access to multiple forms.
View 4 Replies
Mar 10, 2011
i m trying to kill a background worker in the do work event of the worker i was using
backgroundworker.CancleAsync()
but its shows an error saying tat CancellationPending does not allow
how can i kill a background worker after its work gets completed in its do work event
View 1 Replies
Dec 30, 2011
currently, i have this code: My_BgWorkerB is the Name of my BackGround Worker
If My_BgWorkerB.IsBusy Then
If My_BgWorkerB.WorkerSupportsCancellation Then
My_BgWorkerB.CancelAsync()
[code].....
View 1 Replies
Apr 16, 2009
Is there a way to pause a background worker? What I need to do is pause a background worker when it encounters a file error, wait for a few seconds, and then carry on.
View 2 Replies
Jun 7, 2012
I have a backgroundworker which does a few tasks but I'm trying to implement a progress bar and a label. I'm going to set the maximum value of the progress bar to 10 and then have it updating as I move with each task, also I'm thinking of a label with the progress bar which will display the progress ie [code]
View 3 Replies
Jun 6, 2010
I have a function it is called ReLoad()
How can i run it as a background worker? so it can run in the background where it does not effect my current running function - basicly so the form will not freeze at all.
View 1 Replies
Jun 12, 2011
I am developing a VB application along with MS Access... When I initially load my form I need to put my application to sleep for 3 seconds or else data wont load properly. So for this 3 seconds I would like to show a progress bar displaying a message "Please wait" I tried using background worker but did not find any success... I have gone through many tutorials but for some reason could not accomplish the task.
View 4 Replies