Asynchronous TCPClient (Stream / SslStream/NetworkStream)
Dec 2, 2010I'm using the code at the bottom to connect to a Usenet newsserver. This code works fine, but it freezes the UI, so I need to do it asynchronously.
[Code]...
I'm using the code at the bottom to connect to a Usenet newsserver. This code works fine, but it freezes the UI, so I need to do it asynchronously.
[Code]...
I am struggling a lot with this code I am trying to get to work. I have successfully made a connection with the TcpClient object to two separate remote machines and transmitted data to them. Essentially, I'm trying to connect to Machine 1 on port 80 and send a GET request. Once I send the request I want to keep the connection alive so that the software on the other side can send me data when it is ready. How do I keep the connection open and read data in each time it is made available in the stream? I have tried and tried using NetworkStream.Read and BeginRead to no avail. The closest I have come was sleeping my thread every 30 seconds and then doing another GET request which is not needed. Here is the current code I have for reading from the stream. I know I need a loop in here somewhere:Note: RemoteSocket is my TcpClient object that is connected by this point
Dim serverStream As NetworkStream = RemoteSocket.GetStream()
rqst = "GET /Control/Clip_Forwarding_Stream?CameraName=" & URL_Encode(Name) & " HTTP/1.0" & vbCrLf & vbCrLf
[code].....
After opening a TCP stream and writing to it via Stream.write, how can a reply be received (on the same port) and processed?
View 4 RepliesI have a .Net program that has to run on a cluster of server 2008. To find out the right IP I resolve the dns by GetHostEntry(VarDefinedInfConfig).AddressList(0)
but when I am converting my old code (this code picks the wrong IP) dns.GetHostName().AddressList(0) => this returns a virtual IP and not the right one.So I changed my TcpListener to (dns is parameter from config)Dim listener As TcpListener = New TcpListener(New IPEndPoint(Net.Dns.GetHostEntry(dns).AddressList(0), 8001))
listener.Start()
[Code]...
Can I use the SSLStream to connect to a HTTPS apache server? Or does it work with IIS only?
View 5 Repliesin an winForm app in VS2010 win 7 compiling to x86, I try to do what Alvas.Audio seems to work. See (c# ex: [URL] for reference.
Dim data() As Byte = wr.ReadData(second * i, second)
The result give me data.length()=0. I do not have any exception, I can read format from it and whatever reader I use I got this problem.EDIT : After some tests, it seems like the uncompressed file I create in the first step (in PCM format, with .wav extension) can not be recognized by the Alvas.audio library for the second step. I must miss something around Audio file markups or something alike.
Here is the code that might be the source (basically this is step 1):
Dim functOut As String = String.Empty
Dim wr As Alvas.Audio.IAudioReader = Nothing
Dim fs As IO.FileStream = Nothing
[code]....
How can I write the resulted stream to be sure I can read it again later?
Im making a desktop player for a online web radio, and for the program I wanna make it show all the stream info. Like the stream name, and such. However I dont know how to do this? I looked everywhere
The server url is setup like this "[URL]" And it has all the stream info and that there. So is there a way I can get the info from there onto like say a label? Live updates btw.
I have a problem with the cryptostream, if i write the stream to a memorystream the memory that the stream used is still alocated and i have no way of unalocating it.what am i missingdoing wrong? im using-using on the streams,readers and crypto stuffs so the framework should shut them all down right? i tryed calling .close and .dispose but nothing ,in fact i moved it all over I have provided the sub that im using for the encrytion im in .net 4.5 so there is a lil async stuff but i know thats not the problem coz i moved this code out of my main app(.net 4) for testing to see if i could fix the problem.[code...]
View 12 RepliesI know it's subjective but this was the result I came up with based on the answer to me previous question and it seems a bit "slapped together", as I have changed it quite a bit:
[Code]...
Basically is there a better way to write this (even just part of the code) or a more efficient way to do it?
Basically the code is there to read all the bytes from a networkstream 1024 bytes at a time. And each time it reads the bytes it puts into one array which is returned.The thing i think might be better is only Redim byteTempbuffer if intRead is less than 1024 (the redim is to prevent empty bytes from being added to the end of the array when there are less the 1024 bytes left to read from the networkstream) (basically is it more efficent to Redim every time or to go through and if statement and redim only if needed)
How do I know where the other end of the NetworkStream from the 'server' computer? I have been looking at the following code that comes from a post out here, and am wondering where I can tell where I am going to send back to(URL/port)?
Private Sub DoListen()
Dim incomingClient As System.Net.Sockets.TcpClient
Do
[code]....
How would i load and image from network stream as bmp?For example the client sends a image thats jpg. but the server displays the image on a picture box property as bmp.
View 3 RepliesThis question is about trying to find a way of telling what is being sent of the NetworkStream as in whether it is Text or Binary. For example I could have a Server program on my Girlfriends computer and the Client Program on mine, two functions on each:
Server: Textbox for catching any text sent (like a chat for example) and a function for receiving files (like an EXE or others)
Client: Textbox for sending text to the client (again like chat) and a function for sending files (again like EXE or others)
How do you code the server to tell it how to determine which is which (Binary or Text) and further more what if the file being sent isn't an EXE, what if its an image or a text file or other type? I already know how to send a file through to the server and put it back together on the other side but thats only sending an EXE file. I'd want to enable an update functionality in the server so it can receive a message from the client saying its sending through an update which once the server gets the message it will know what to do on the other end (i.e. stopping itself whilst the update.exe is running and copying over the new file).
I am attempting to write a vb.net 2008 application that will allow me to send files from a server to a client based on a request. I am going to post the same console application code below. When i run the server and the client on the local machine, i can get my file update and it works just fine. When i go to a different machine on my network and attempt to connect to the server and download the file, i get the correct file size but the file, when i attempt to run it, says "not a valid win32 application". Now with a little testing, this can be any executable that i send over the network through my update software.
------
SERVER
------
Imports System.Net.Sockets
Imports System.IO
[code]....
I am new to vb.net programming. I am trying to connect to a device using TCP/IP.I am trying to send a command "Z<CR>" where Z is a character and <CR> is a ASCII value of 13. How can i do this in one statement?
I have written following code, but my program stops responding at .read statement:
[Code]...
I have an XDocument ready to be sent out via Network stream, what do I need to get it working? I am connected via networkstream and can send regular text, but I don't know how to send an XML Document, I use the networkStream.write() function to send in text.
View 2 RepliesI am sending some data over a networkstream. The datasize is 97 The buffersize is 1. Data is a list of bytes. When the bytecount reaches 94 the do while loop exist itself.
[Code]...
I am doing client/server socket based project and currently I am having some troubles with the recieved result.What I mean ... this is part of the client which is receiving
tcpClient.Connect(address, Port)
Dim
bytes(tcpClient.ReceiveBufferSize) As
Byte
[code]....
Where file is just a simple file name send from the server. What I recieve is for example: test.txt%00%00%00%00%00%00%00%00 etc. The server and the client are using the same encoding ASCII.
I have some troubles reading an image from a networkstream.Every time the when program runs this procedure its shuts down without a warning.[code]...
View 11 RepliesMy code looks very similar to this post Read bytes from NetworkStream (Hangs), which I copied below. ( I realize this is c# - I need a vb solution)
[Code]...
My issue lies in this:
I have a form that takes user input on which tif file(s) to find (which ends up being the getBytes(message) ). When one does this, it always returns one result - the first tif file that fits the criteria, However, I know in certain instances I should recieve more than one match.
Then I send the results to a picturebox and should be able to scroll through results (which this part works fine)I've tried a few ways to get multiple results, but maybe I'm missing the obvious? My best guess is using the asyncronous beginread/write.I've attempted using a for loop but I end up getting a bunch of the same tif files as a result..
I'm using the following code to get newsgroups from a server[code]...
When I execute the code, the routine only receives one block of the data. However, if I go into debug mode with a breakpoint at the loop instruction, I receive all of the blocks of data.Am I missing something in the code, like a wait or something, that would allow the program to receive all data like happens with the debug?
I'm using the following code to get newsgroups from a server:
sendBytes = Encoding.ASCII.GetBytes("LIST active microsoft.public*" & ControlChars.CrLf)
networkStream.Write(sendBytes, 0, sendBytes.Length)
[code].....
I have a device that is continuously sending text over a TCP port and I want to write a VB.net application that will read and evaluate this data. Each line of text that arrives over the port can be of varying length and each value in the line is separated by a comma. I need to separate out these values in order to take various actions based on their contents.
The following code appears to read the NetworkStream fine but when I try to read the data into an array and output one field into a text file the code is only catching a few lines of the high number coming through the port.[code]....
I was trying to develop a video chat p2p system by sending bitmap of the picturebox where the webcam performs. I want to send and make the client just prompted without having the client to save the file by opening savefiledialog of the bitmap i was sending.
The sending part was like first I copy the frame of the picturebox which showing the video cam, and saved it into memorystream as .bmp file like this:
ms = New MemoryStream()
Dim a As Image
a = Server1.copyFrame(Me.PictureBox1, New RectangleF(0, 0, _
[Code]......
I apologise if this thread has been posted in the wrong section I was not certain whether it was the serialization or the networking that was causing this problem, but I feel that it is likely that it is the serialization.I am currently building two applications a client and a server, where several objects have to be sent between the applications, a couple objects each way.The applications are called "ACME Server" and "ACME Client" (yay for originality).
While I can get the first object to be transferred from the client to the server, but I can't get the second object to be transferred successfully from the server to the client, the error is occurring in the client program, I have taken a printscreen of the error that I am receiving, which I have uploaded to [URL]..All objects that are being sent are serializable (well there is an Interface called Action which I am unable to make serializable I believe due to it being an Interface).
[Code]....
I'm trying to make a simple chat client. But it seems that the "Dim ClientData As String = Encoding.ASCII.GetString(RevievedBytes)" is returning a string without the trailing quotation. During a step-into, ClientData was "something instead of "something". If I manually put the other quotation on the end during a step-into, it would work. Why is this happening? Full project available at [URL]
[Code]....
It seems the most obvious thing, but I just can't work out how to get the length of bytes sent over a network using a TCPClient and TCPListener? This is my code so far:
'Must listen on correct port- must be same as port client wants to connect on.
Const portNumber As Integer = 9999
Dim tcpListener As New TcpListener(IPAddress.Parse("192.168.2.7"), portNumber)
[Code]...
I need to get the length of the networkstream to set the size of the array of bytes I'm going to read the data into. But the networkStream.length is unsupported and does not work and throws an Notsupportedexception.
The only other way I can think of is to send the size of the data before sending the data, but this seems the long way round.
I am currently building two applications a client and a server, where several objects have to be sent between the applications, a couple objects each way.The applications are called "ACME Server" and "ACME Client" (yay for originality).While I can get the first object to be transferred from the client to the server, but I can't get the second object to be transferred successfully from the server to the client, the error is occurring in the client program,I have taken a printscreen of the error that I am receiving, I have uploaded to [URL]..
All objects that are being sent are serializable (well there is an Interface called Action which I am unable to make serializable I believe due to it being an Interface).
[Code]...
I have this code obtaining data from a sensor that is sending a string that contains 4 numbers separated by a tab and terminated by an end of line/ I am trying to use an asynchronous callback to get the data over TCP. That problem is that the callback function is not grabbing the complete string. Sometimes it will, other times it gets half in one retrieve and half in another. I need the callback to hold off until it gets a newline character.
Code:
Public Sub readVaisala()
Dim ip As String = "192.168.1.30"
Dim portNumber As Integer = 23
Dim time As Int32 = Now.Second * 1000 + Now.Millisecond
[code].....
How can I set up an asynchronous web service in asp.net?
I want to call a webservice to post some data to a database, but I don't care if the response failed or succeeded.
I can use .net 2.0 or 3.5 only and it can be in vb or c#.
I have a small VB.NET application built using VS 2008 and .NET 3.5.Very simply, there is a timer that kicks off every few seconds to download an XML stream from the web. I look at this stream and manipulate it.The problem I am facing is that the remote web server may not respond in a timely fashion to the following line of
[code]...
How can I implement asynchronous calls so that the my application can behave without locking up?