Given the following information
Public Enum Request As Byte
None = 0
Identity = 1
License = 2
End Enum
Protected mType As Communication.Request
mType = Communication.Request.Identity
Debug.Print (BitConverter.GetBytes(mType).Length.tostring)
2
Why does bitconverter report that mType is a length of 2. I would have thought that passing a Byte into BitConverter.GetBytes would just return the Byte. I mean it's no big deal because it's only sending a very small block of data across a TCP Socket, but I'm just intrigued why it thinks it's 2 bytes.
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?
addressing the need for getting the bytes of an object. But I am wondering if there is an approach to calling BitConverter.GetBytes on a generic type where I know the type is a primitive (Int32, UInt16, etc).
Public Sub Foobar(Of T as Structure)() Dim x as T 'Assume T is declared as Int32 Dim y() as Byte y = System.BitConverter.GetBytes(x) End Sub
The above will throw your usual error:
Overload resolution failed because no accessible 'GetBytes' can be called with these arguments: 'Public Shared Function GetBytes(value As Double) As Byte()': Value of type 'T' cannot be converted to 'Double'. 'Public Shared Function GetBytes(value As Single) As Byte()': Value of type 'T' cannot be converted to 'Single'.
[code]....
One solution I think would work is a large Select Case calling GetType(), but that is horrendously slow (because of boxing) and looks ugly. I would think that since I call my higher level class with a primitive data type for T, that the compiler would be smart enough to figure it out, but I assume I am not providing enough information for it to derive what T's underlying value is at compile time for the invoked instances.
Private Sub Button1_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button2.Click readData = "Conected to Chat Server ..." msg()
I've been working on a project for months now (vb 2008 express). There is one final which I can't solve.I need to send images to a client from a 'server'(listener). The code below works most of the time but sometimes the image is incomplete. I believe this might be something to do with the tcp packet sizes varying, maybe limited by how busy it is out there on the net. I have seen examples of code that splits the image into chunks and sends them out, but I can't get them to work maybe because I'm using a different vb version. The pictures to be sent are small 20k max.
Any working code examples would be wonderful. I have been experimenting and failing with this final hurdle for weeks.
I have a problem reading data from an RFID-reader. I connect to the reader by tcp and wait for DataAvailable to be true, then reading the data until I got a end of data character. Then I just go back and waiting for a new DataAvailable. This is done in a own thread for the function.
There seems to be some kind of timeout, If I don't got any data in a couple of minutes, then it just sits there in the do/loop waiting for DataAvailable. I hold the card to the RFID reader, it beeps, but there is no data available. I don't get any exeptions, and the information says that the clientsocket is still connected. Are there anything more I can check?
If I put the card to the reader in a minute-interval it seems as this will never occur. So 2-3 minutes idle:ing seems to do this.
Here are my code to read data from the socket, I have taken away some irrelevant code:
Sub test(ByVal ip As String, ByVal port As Integer) ' this sub is meant to run forever
I am new to vb net so please cut me some slack if this is a stupid question, I have always used vb6 before, but finding that its less and less supported so trying to learn vb.net by myself. Also I am doing this for a hobby not a profession.I am writing an Console application to read a file sequentially 1 byte at a time into a 1 byte buffer. It then copies that byte into a 4 byte lookup buffer, that moves, ie as the file pointer moves forward by one byte the 4 byte lookup buffer copies the last 3 bytes into the first 3 bytes to accept the byte at the file pointer into the 4th byte of the lookup buffer. I am doing 1 byte at a time because the data I am looking for is not at pre-determind offsets and filesizes may not be a multiple of 4.
[Code]...
Help please its driving me mad It appears as if the byte is not being transferred to the lookup buffer so that it would always be 0, either that or I am not converting it to an integer properly
I was so happy when I discovered IsLittleEndian field in BitConverter. I thought of course it should be there and I should be able to specify whatever endian I like. Well, my happiness didn't last long. Spent some time till found out that there is no way to set the field.The field is readonly, and it is only set to true in static constructor:
[Code]...
My question is: how come there is very useful piece of code that is already implemented and sitting there in the FCL, but there is no way to use it (unless you start messing with reflection of course)? Is it just because some developers didn't meet the deadline and left the job half-done? Even if so, why the code is not available, but the field is?I hope there is a good reason for this.
I want to make myself clear. I don't need a solution on how to handle big-endian values. I do have a solution. The solution is actually shown in my question.
I am reading data from a socket (as bytes) and storing this data in a string. Then later i need to access specific bytes within the string and do some math with them. However the bytes that I read back from the string are not what I am expecting.
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 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
I need to control a device with a GPIB port. I have the commands that I need to use to do this; but I don't know which is the sintaxis in Visual Basic.
For example if I need to send a instruction like "START:0.01" to the external device which are the libraries that I have to include?, how should I write the programming line to do this?
The main tasks that I need to program are sending data, receiving data, and saving data
am developing an application where a client send data to server (socket Programing) and the server recevices it and shows it to the user through a list view but the client can send the data any time they want and it should show on the list view automatically... So i have put a timer and in tick event i have written the code like this the below code is working fine in onload event but then only once the client can send the data to the server.
I am trying to communicate to a local AS3 Air app on my PC via sockets. The VB.Net app is acting as a server in this case while the Air app is a client. The .Net app sends data every 25ms to the Air app. I have not send any message termination. I just receive the data on Air app and process it.
I am using VB.NET and I am designing a generic network architecture in which data can be transmitted in various ways. I am wanting to strip down things as much as possible, and I do not want to transmit in plain text. My question today is regarding ideas and example code (if applicable) as far as parsing binary data that is sent over the wire in VB.NET.I want each packet to have a very generic architecture such as <packet type> <address> <payload> or whatnot. I understand that I can use certain bytes as delimiters for these packet fields. I don't necessarily want to serialize everything being that for security reasons, the same library has to be used to deserialize the data.
a) Put my protocol into binary data where each field is delimited using a certain byte
b) Parse that data from binary at the other end.
Once again, I don't want to use plaintext since this can cause a bunch of overhead in comparison.
I converted some codes from python to VB 2010. My aim is sending query data to multicast IP and get the response. My query data receiving from device which is connected to my LAN. Also the device responding my query and my PC receiving the responce but at this point the VB program freezing.getting response data and printing to console without freezing.
I am trying to implement SMPP protocol in vb. I am sucessfull in send and receiving packets using sockets. Now I would like to decentralize the functions of my program. I want to implement two programs one for sending and another for receiving using a single socket. I want to receive data through the same socket that was created in another process(i.e., the first program).
i need a little advice/help here. There is a particular scenario that is coming up and I am clueless as to how to go about it."I will soon have a lease line through which I will get realtime stock market data. This data will be available every second and it will contain prices of stocks. Now assume I am able to get that data on my local computer. How can I transmit data so that users can get that data through my software.
For e.g. assume it's 11 AM. Now if you select a stock e.g. Google, then my program should fetch data for google till 11 AM and also show new data every second or so with minimum lag. Something like a terminal where you see stock prices getting updates every second. In my case I need to get past data and show current data which get updated at short intervals."
Now I have a linux vps webserver which hosts my site. (I get one or two static ip free) What to do so that data goes from my local computer to my server and then my program (developed in vb.net) is able to get it and show it to end user. This whole system should such that its fast (real-time) and delay is minimum.
I've looked through a lot of snippets online and I see a lot of things similar to
Dim bytes(tcpClient.ReceiveBufferSize) As Byte networkStream.Read(bytes, 0, CInt(tcpClient.ReceiveBufferSize))
but what I am unsure of when to call such a thing? How do I know when there is data to receive...in visual basic 6 with winsock, there was a specific routine which was called upon data arrival, but I see nothing of the sort for vbNet.
I have been working on an ongoing project using socket communication.
I am using this code [URL]
The problem I am having is I am unable to figure out how to call the send sub and insert data into it. I have been able to do it before by removing the second class out and leaving it in the main class (if that makes any sense).
Imports System Imports System.Net Imports System.Net.Sockets
[CODE]...
These are the small modifications I have made to it so far. What I am trying to do is when I press a button, it calls a sub routine that takes the text input from a field and sends it to the send sub routine in this code.
Is there a way to determine if a System.Net.Sockets.Socket has sent data that has not been received/read by a specified remote endpoint with a connectionless protocol?It never hurts to try.
i'm developing a server application using vb.net and i'm facing a problem. in fact i have a huge data to send to the client via the socket so i use a loop to divide the data and send each part the problem is that when i proceed with the sending the socket send me only few peaces of the data and loose a big part of it. i tried to flush the buffer after each sending but i didn't find how to do it so i used a system.threading. thread sleep between each socket send. it works when i don't have huge data but it blocks my server when the number of packets increases. is there a solution that would replace the. sleep one without blocking the application?
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")
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 m into automation development of FMCG products using Micro-controllers. I get real time data Barcode 2D from TCP/IP connection. My task is to compare the result do some Computation with them and Store the incoming Barcode and results into a Excel sheet in a folder. I m successful with the basic working. Am currently working at slow speed of 1 barcode(22 char info) per second from the TCP/IP data (barcode scanner). Now, comes the real issue. I need to process atleast 5 barcodes per sec ( <200ms per process). I m partially successful with 3 Barcode per second(300 ms per process). so, thats like 300ms per processing. I need to achieve less than 200ms for entire processing. I have used threads and timers. but I m unable to achieve. Seems like storing in Excel takes more than 250ms. Since i come from micro controllers background 1msec is a lotta time to process for me. I m not sure how much time does it take and trust me i find it difficult to guage the time here.
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim hwrRequest As HttpWebRequest = HttpWebRequest.Create("http://www.example.com/web-service.php")
[Code]....
The MsgBox() at the end shows the response, which as I've added to my script, echos the result from the $user and $pass variables which are supposed to retrieve those details being written to the stream above, but they show up empty.
I'm retrieving those values by doing: $user = $_POST["user"]; $pass = $_POST["pass"];