VS 2008 - How To Get Image From HTTP Server Via Raw Socket
Apr 7, 2010
I am using Async socket class to handle HTTP data. The OnRecieve event handler looks like this:
Private Sub sck_onDataArrival(ByVal sData() As Byte, ByVal BytesTotal As Integer) Handles sck.onDataArrival
Try
Dim ms As New IO.MemoryStream(sData)
Dim returnImage As Image = Image.FromStream(ms)
Picturebox1.Image = returnImage
Catch ex As Exception
Debug.Print(ex.ToString)
End Try
End Sub
I realize this will not work because the byte array still contains the header information from the response from the server. How to strip this data without converting the byte array to a string. I need to strip the header response information and just be left with the image data and from there convert that data into a stream so the stream can be loaded into an image and displayed in my picturebox.
I'm currently battling to retrieve an image from SQL Server 2008 R2 in an asp webapplication using vb.net. The image is stored in the SQL Server 2008 R2 database as an image type. I've been researching for the past few days and can't seem to find anything solid on this topic. Apparently, the image has to be retrieved using
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.
I have coded very simple asp pages to return an image when requested. But I need to do this from a vb.net application. So I assume I need to create a mini http web server. I have code for some that does not support asp or anything like that. Is there another method to return an image? Anyone have an example of this? Or again, do I need to find a web server control or app to use?
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.
I have been developing an async socket connection server and client program. I have been testing it, and noticed that if I connect to the server from my client and then disconnect. Upon reconnecting I am on a different port(local IP still). This is fine, however when I go to send a message, and the server trys to update all the clients, it eventually hits clients that do not exist anymore. I get the SocketException 10054, and upon connecting/disconnecting enough, it no longer works at all. My question is how do I clear out these no longer useful sockets from the server? I am doing currentsocket.Shutdown(SocketShutDown.Both); and then a currentsocket.Close(); after that. When a user disconnects.
I made a simple TCP server (I've found the example on the web) in VB to receive data from about 40 TCP clients.The clients are not synchronized but sends data about every 18 minutes; the problem is sometimes several clients sends data at the same moment, so I can't receive data.I also made a second program that reads the data (server program writes data on a file, read from the second program) scheduled.
My question is this: I've seen on the web examples about Multithreaded Server Socket Program, so I suppose this could manage my 40 clients (but now the clients are syncronized and send data at the same time in client mode) or is better get data (I have a central client that asks data to all 40 devices in server mode)?
Second question: can I make a single program where I run both TCP client and TCP server at the same time?
I want a PC to operate as a mini HTTP web server that can receive requests from local (WIFI) devices. I know how to resolve the addresses so that the URL of the PC will be known on the WIFI network, but I'm not sure how to get the PC to act as a HTTP server.
I'm using sockets to connect to servers and for some strange reason I can't identify, the socket is taking several seconds (5 maybe 6) seconds to connect when using an IP whereas is instant when using a hostname. Here is my code to connect:[code...]
In the above code, server of course is a string. I've tested this with a friend and she's experiencing the same issue and I'd like to get around it as it's sort of annoying..While debugging GetHostEntry is the line that seems to take forever when using an IP.
[code] What I want to know is, if this is the right way to load an XML of a server, If yes, How do I handle exceptions like "Server Error 500" etc.I also want a nice little progress bar to show the user that the XML is being loaded of the server, How do I change the responseTimeOut.If No, How do I load an XML of a server??
i took this code from another example, it works fine but it a windows console application.i took the code into a windows form app but it looks like i have to change somethingto start, it says client is not defined, so what should i use?lient.startClient(clientSocket, Convert.ToString(counter))
Dim serverSocket As New TcpListener(8888) Dim clientSocket As TcpClient Dim counter As Integer
transfer this from a Console app to a WinForms app? I'm still new to this and I want to build on top of this once I get more acquainted with VB.net. I don't know if this may be helpful, but I'm using Visual Studio 2008 (not express).
i'm creating an IRC server and I already have a few base classes complete like logging and Config. I was about to start with programming the socket class(es) when I realized that I have no idea how to make such a complicated socket system. I do not under any circumstance want to use any other code than my own since that would not help me learn sockets. I am familiar with a single connection socket system like most tutorials use.
Code: InputStream in = new WebInputStream( url ); BrowserOutStream out = new BrowserOutStream(); while(in.read()){ out.write() }; in.close(); out.close();
Simple enough (although the code is simplified here). But i cant seem to find a proper example of the equivalent in vb .net. I am assuming i have to use System.Net.WebClient.OpenRead, but not sure where to go from there.
I am new to socket communication. I found a few samples on the web and I managed to make my own host-client communication but i wanted to go a bit further and connect to port 80 of a server and it was just a disaster! First of all I know I can just use the functions that vb has itself but I want to make my own connections ... I have got some reasons I need this one! Do I really have to make them "connect" or just somehow without connecting I get the data? So I'm stack at the point that the connection is made ... it refuses to connect.
I've been trying to get this to work for days now, but I fail I have a very small HTTP Web Server using TCP sockets listening on port 80. I can connect and display html to the browser, parse GET parameters; but what I can't get is getting POST data. When I get a POST request, the headers and everything else come in fine, but the POST data is missing:
Imports System.Net, System.Net.Sockets Public Class ServerForm Private serverSocket As Socket Private clientSocket As Socket
[code]....
for the first time, when I click on Connect, it is going to connect to server as well and also it works if you click on the disconnect. for the second time if you click on the Connect button, it gets connected but the disconnect button is not working.
I have an application to make a server and clients to read/ send text to it but I want a program I can run from a remote computer that you enter the ip and port and it crashes the server.
For almost a week I am reading and trying to find a solution for checking connection state using a TCP Client (using socket class) In my scenario I have a TCP Client that is connected to a server (it is not controlled by me) and i want that from time to time to check the connection state, and reconnect if necessary.I have read a lot of information on the internet but i did not find a suitable solution.Briefly, these are the methods that i have found on the internet and try to implement.But unfortunatelly, i have found some scenarios where the TCP Server is closed and the TCP Client is still saying Connected 1.Example from MSDN
I want both the client and server to write and read resp. at a constant rate (which can be configured on the GUI of the client) to the buffer.I am able to send from the client at 150 bytes per packet Now, I should be able to read also at 150 bytes per packet on the server too Since, both are connected through a socket, can we retrieve the socket params (set on the client size, like 150 here) from the server end, using the tcpServer object.Or is it must to send an initial setup packet which tells about these client params and so accordingly the server can continue?
I have created a few months ago a simple tool in vb.net, that sends an xml code to server, and that server sends response after a while. Everything is performed in http session, for that purpose I use webbrowser control and webclient. I know it could have been solved in different way, however iam not an expert in vb.net, and also didnt want to spend too much time on it. Anyway it worked, until they had changed something on the server. Let me explain in a few words how that tool works, so it will be easier to understand the problem.
In the first part, I open an URL in the webbrowser control, subsequently I enter xml code in the textarea on that page and click on the submit button. In result of that I get another page with some data on it, namely links to xls files. In the next part I use webclient for downloading those files. What is important for all of these operations I need to use the same http session id.
So, simply by now, i just set headers in webclient - WebClient.Headers.Add("Cookie", WebBrowser1.Document.Cookie.ToString) What have guaranteed to use the same session id by the WebClient. However, after the change made on the server mentioned before, the JSESSIONID value is not available in that string. When I use https analyzer (fiddler), I can see that value there...until moment when I am using WebClient. Of course due to that fact, the webclient won't download files for me, because the session id is not the same.
There is one more thing, what would be useful. When I checked the cookies file on my harddrive, I saw that line starts like #HTTP_ONLY. I think that would cause that problem with jsessionid.
Now, I am coming to my question Do you have any idea, how I would get that JSESSIONID value ? It is sent from webbrowser control, however don't know how to get it.
So I have set up a basic client/server connection and I am trying to send a message to one another on connection, I got the client to receive the message from the server, but the server doesn't recieve the clients message. Here is my current code for reading the sent data from the client:
ServerThread.socket = new ServerSocket(5556); Socket client = ServerThread.socket.accept(); DataInputStream in = new DataInputStream
I created a server-client application using the asynchronous socket. I found the problem when closing a socket on the server, applications so closed. The procedure that I do to close the socket server is:
Terminate the listening thread. Close the client socket is still connected to the server. Close the server socket.
How to prevent the application is closed, when I close the server socket?
Protected Friend Sub CloseServerSocket(ByVal IPAddress As IPAddress, ByVal socketPort As Integer) ' Terminate the listening thread.