I am writing a program that talks back and forth with an external machine through UDP/IP. I have figured out how to talk to the machine, bu now I need to know how to read the machine's response. I am using the following code:
Dim receiveBytes As [Byte]() = udpClient.Receive(RemoteIpEndPoint)
Dim returnData As String = Encoding.ASCII.GetString(receiveBytes)
TextBox1.Text = returnData
When I break the code down and read receiveBytes, it comes through exactly the way I want it. It is falling apart when it gets encoded and put into a textbox. It just comes out as a "?".
I am trying to receive about 900 packets coming from around 900 different ip's. But for some reason I can't seem to capture them all. The same code in C++ seems to work fine, but when I try to do it and run it through the parser it seems that I only get about 150 - 300 of these packets each time I ask for them.
Does anyone know of a good example of TCP, in C# or VB.NET?
The problem I have with the majority i've found is that they send data once, receive data once, and end. This isn't a workable example. Even MSDN's example does this.
My main question:
Every example reads incoming data into a buffer (byte array), usually 512 bytes. If two packets are received in a row, how do I know where one packet's data ends and another's begins? What if a single packet has more than 512 bytes of data?
All TCP examples i've found work in a rather procedural way.
Since a few months I want to learn how to receive and send packets. Since WinSock doesn't work I think it'll be quite hard to get an easy way to do it.
I want to be able to send and get packets as a client. (TCP) I know that I need System.Net.Sockets, and that's quite everything...
I am on a new topic in VB.NET and I am so confused I don't really even know where to start. It is sending Parsed Packets. This packet below is a login server of a game and I want to know how to send it so it automatically does it.[code]....
I made a TCP server which communicates with multiple clients at once, but I can't seem to be able to make them stable. When one of the client sends 100 packets to the server, the server receives only a few of them.Here's the client code in PasteBin. It shows how the client connects to the server and then sends 100 messages in a For loop to the server.And here's how the server handles the connection. I couldn't paste the full source as it's hundreds of lines long so let me know if it's missing any mandatory parts and I'll upload them as well.
Well I need to send a raw packet to a Web Browser Control. The packet is: "%xt%z%zo%50% . 1000000 . "%"" I need to send it to a flash game but I have no idea how to.
I have a program which uses TcpClient, the issue I'm having is how do I construct the packets when some of them come in seperate parts. For example, If I receive 5 packets, 2 of them are fine, but the other 3 have come in seperate parts when it's suppose to be a whole packet. How can I handle this?
Im sending packets through UDP, and want to get the time it takes for the server to receive the packet from the client. Would the best way be by adding a timestamp to the packet the client sends, and then use that time with the server to calculate the actual time it took to receive?
The following code waits for data over UDP. I have a test function that sends 1000 packets (datagrams?) of 500 bytes each. Each time I run the test function, the receiver gets only the first few dozen packets but drops the rest. I looked at the incoming network data using Wireshark and I see all 1000 packets are actually received, but just don't make it to may app's code.[code]If I add a small delay after each call to Send, more packets make it through; however since Wireshark says that they were all received anyways, it seems that the problem is in my receive code. I should mention that UdpListen is running on a separate thread.Any idea why I am dropping packets? I also tried UdpClient. BeginReceive/ EndReceive but had the same problem. A second issue that bothers me is the global nature of the receive buffer when using Sockets and I am not sure if I don't process incoming packets quickly enough that the buffer will be overwritten.
Based on the various, somewhat conflicting suggestions from replies to this and other posts, I made some changes to my code. Thanks to all who chimed in various bits; I now get all my packets from dial-up to Fast Ethernet. As you can see, it was my code at fault and not the fact that UDP drops packets (in fact I have not seen more than a tiny percentage of packets being dropped or out of order since my fixes). Differences:
1) Replaced BeginReceive()/EndReceive() with BeginReceiveFrom()/EndReceiveFrom(). By itself this had no notible effect though.
2) Chaining BeginReceiveFrom() calls instead of waiting for the async handle to set. Not sure if any benefit here.
3) Explicitly set the Socket.ReceiveBufferSize to 500000 which is enough for 1 second worth of my data at Fast Ethernet speed. Turns out this is a different buffer than the one passed to BeginReceiveFrom(). This had the biggest benefit.
4) I also modified my send routine to wait a couple of ms after having sent a certain number of bytes to throttle based on expected bandwidth. This had a big benefit for my receiving code even though Wireshark said all my data still made it across even without this delay.
I did NOT end up using a separate processing thread because, as I understand it, each call to BeginReceiveFrom will invoke my callback on a new worker thread. This means that I can have more than one callback running at the same time. It also means that once I call BeginReceiveFrom I have time to do my stuff (as long as I don't take too long and exaust the available worker threads).[code]What is not shown above is the error handling and dealing with UDP data being out of order or missing.I think this handles my issue, but if anybody still sees anything wrong with the above (or something I could do better) I would love to hear about it.
I need to make a packet sniffer that will give me SSL packets. It doesn't need to give me any other information than the body of the packet, the actual data being sent to me. It does not need to differentiate between different IP addresses. And, it doesn't even need to differentiate between things which are and are not SSL packets. Any packets will be fine, it just needs to support SSL packets. The fewer lines of code the better...
Now i need to send separate packets from the server to the client.For the client I am using usual Tcp but for the server I am using Winsock Control. [code]...
I'm trying to sniff packets from a specific application. I searched around but couldn't find anything useful, but I did hear something about WinPcap. What is WinPcap and how do I use it? Also, is there another way to sniff packets?
At my workplace I have been developing a server/client application which receives on port 8000 and sends on 8001. We do not have any other applications that use these ports, but we do have an application that accesses an SQL database in which part data is stored.
When I am doing testing on the application, if the server were to crash while the client app was sending a packet, could this lost packet cause issues with the network at all?I ask because for some reason we have been receiving connection timeout errors from the application that stores our product data, but we haven't made any changes or started running any new jobs on the network that I am aware of.
What Visual Basic code can be used to assemble and send a raw packet, and receive response packets? I looked on MSDN and I couldn't find any documentation for anything used to send a packet.
i try to transfer packets from the PC to the Mobile phone~ my PC is act as a Server and Mobile as a Client. My Mobile is successfully connect to my PC, but when i try to pass a packets from Mobile, it went failed without any error. The Server didn't receive any packets from Mobile. i had test my code on PC to PC and it's work fine. Anyone have this kind of experience?
I have written a simple Server application that transmits an XML string to all connected clients when the user updates/alters a datagridview. When I connect to this server with telnet I can see the correctly formed xml string.
I have also written a client application, which on reception of the Xml string, displays it in a datagridview. But When I look at the xml string it is either missing parts of in the wrong sequence.
I'm writing a program which uses sockets, Now the issue I'm having is, If the packet received is over a certain size, the socket then fails to receive anymore packets/data after it.
I am trying to make a program that will stop people on the same network being able to tale if im online by pinging my i.p adress aparantly the only way of doing this is to "drop icmp packets and not reply to them"
dose anyone know how to do this? and can anyone provide me with a basic script that will do this?
I am working on a project in VB 2008 and need it to do this:Read first line from text file (using Openfile)Enter line into textbox on formDo some other codeThen Read second linefrom text fileEnter line into same text boxand loop until we have gone through text fileI am not sure how to read line by line from text file then enter it in textbox. I can open the Openfile and get the filename and everything, but I just am not sure how to read from it or enter that line into the textbox.Here is what I have, its not much but its a start:
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Dim FileReader As StreamReader
I have a dictionary object (let's call it _do) I am using to cache some values for use in a multi-threaded program. I have a single controlling parent thread, with a timer function _doTimer() which can kick off child threads with a new instance of class MyThreadObject in each. My parent thread has _do as a property and with each time _doTimer() gets called, it may or may not repopulate _do depending on cacheflag settings. I pass a reference to _do to each instance of MyThreadObject and those threads at some point read the values of _do but DO NOT write to it.
What I want is to ensure that the child threads do not try and read _do whilst the parent thread is writing to it. Same thing but very slightly different -> I also don't want the parent thread to write to _do whilst the child threads are reading from it. However there is no problem with 1 child thread reading the values of _do at the same time as another child thread is reading the values - so ideally I do not want each child thread to completely lock out read access, only locking out Write access.. The code is roughly like this:
I am trying to develop a tool for use with an online game which has XML files available online (not downloads, automatically updated XML website things). Sorry if I'm not too clear as I don't truly understand how they work or anything!Anyway, I am trying to make a vb.net program access the information stored in these online XML pages but am having some difficulty. For a start, I tried the vb.net's help files which didn't help a great deal (well done Microsoft) because of the lack of informative comments on each code sample. It merely said that the output would be this (didn't even say where this output would be.
Next I tried searching the web but although I found a few things, some on this site, most of them were questions where the person already had a good knowledge of XML usage so they didn't put many comments on their code.
I am using following code to read text from a .txt file. But I don't know how to perform search within file and how to read a specific line in the text file, based on search.
Dim vrDisplay = My.Computer.FileSystem.ReadAllText(CurDir() & "keys.txt") MsgBox(vrDisplay)
For an example, if I want to read the line that contains the word "Start", how to do that?