Converting Java Code to C#http://forums.asp.net/t/1625603.aspx/1?Converting+Java+Code+to+C+Mon, 22 Nov 2010 05:25:46 -050016256034178222http://forums.asp.net/p/1625603/4178222.aspx/1?Converting+Java+Code+to+C+Converting Java Code to C# <p>I have about 60 lines of Java code I need to convert to C#. This code creates a UDP packet and sends it to a destination IP address on port 1761. I'm not sure what the equivalent C# code is to manipulate the java byte data type and not sure what the Datagram equivalent is. </p> <p>This is the Java code I need to translate to C#</p> <pre class="prettyprint">private void jBtnReadActionPerformed(ActionEvent e) { byte buf[] = new byte[512]; int i = 0; //1. Check the Buttons to verify that only UDP-API command button is selected if (true == jRBtnUdpCmd.isSelected()) { Integer i1 = Integer.valueOf(jTxtCmdId.getText()); int tmp = i1.intValue(); buf[i&#43;&#43;] = (byte)((tmp &gt;&gt; 8) &amp; 0xFF); buf[i&#43;&#43;] = (byte)(tmp &amp; 0xFF); // set Byte 2:0x00 (read request) and byte three: 0x00 (reserved) buf[i&#43;&#43;] = READ_REQUEST; // READ_REQUEST is set to 0x00 buf[i&#43;&#43;] = 1; // This byte is reserved. // buf[i&#43;&#43;] = RESERVED; // This byte is reserved. // convert the space delimited ASCII hex data to byte value String strData = jTxtCmdData.getText(); int strDataLen = strData.length(); //System.out.println(&quot;String: &quot; &#43; strData &#43; &quot; Len: &quot; &#43; strDataLen); byte[] newBuf = new byte[strDataLen]; int len = convertAsciiHexToByte(strData, strDataLen, newBuf); // insert 4 bytes of header and copy the remaining bytes here. for (i=4; i &lt; 4&#43;len; i&#43;&#43;) { buf[i] = newBuf[i - 4]; } // Send the IP Data sendIpData(buf, i); } } private void sendIpData ( byte bData[], int dataLen ) { if (dataLen &gt; 0) { // Display data to send DisplayOutData(bData, dataLen); // Build packet with destination Ip address, source &amp; destination // port numbers DatagramPacket packet = new DatagramPacket(bData, dataLen, inetAddr, iPortNum); try { dataSocket.send(packet); } catch (IOException ioe) { System.err.println(ioe); } } }</pre> <P>What is the C# equivalent of this code?</P> <P>buf[i++] = (byte)((tmp &gt;&gt; 8) &amp; 0xFF);<BR>buf[i++] = (byte)(tmp &amp; 0xFF);<BR><BR>&nbsp;(Shifting bits and ANDING the operation...)</P> <P>This is the code I think I need in place of the Java Datagram UDP send packet code</P><PRE><pre class="prettyprint"><SPAN>Socket</SPAN><SPAN> sock </SPAN><SPAN>=</SPAN><SPAN> </SPAN><SPAN>new</SPAN><SPAN> </SPAN><SPAN>Socket</SPAN><SPAN>(</SPAN><SPAN>AddressFamily</SPAN><SPAN>.</SPAN><SPAN>InterNetwork</SPAN><SPAN>,</SPAN><SPAN> </SPAN><SPAN>SocketType</SPAN><SPAN>.</SPAN><SPAN>Dgram</SPAN><SPAN>,</SPAN><SPAN>&nbsp; </SPAN><SPAN>ProtocolType</SPAN><SPAN>.</SPAN><SPAN>Udp</SPAN><SPAN>);</SPAN><SPAN>&nbsp; &nbsp; </SPAN><SPAN>IPAddress</SPAN><SPAN> serverAddr </SPAN><SPAN>=</SPAN><SPAN> </SPAN><SPAN>IPAddress</SPAN><SPAN>.</SPAN><SPAN>Parse</SPAN><SPAN>(</SPAN><SPAN>"192.168.2.255"</SPAN><SPAN>);</SPAN><SPAN>&nbsp; &nbsp; </SPAN><SPAN>IPEndPoint</SPAN><SPAN> endPoint </SPAN><SPAN>=</SPAN><SPAN> </SPAN><SPAN>new</SPAN><SPAN> </SPAN><SPAN>IPEndPoint</SPAN><SPAN>(</SPAN><SPAN>serverAddr</SPAN><SPAN>,</SPAN><SPAN> </SPAN><SPAN>11000</SPAN><SPAN>);</SPAN><SPAN>&nbsp; &nbsp; </SPAN><SPAN>string</SPAN><SPAN> text </SPAN><SPAN>=</SPAN><SPAN> </SPAN><SPAN>"Hello"</SPAN><SPAN>;</SPAN><SPAN>&nbsp; </SPAN><SPAN>byte</SPAN><SPAN>[]</SPAN><SPAN> send_buffer </SPAN><SPAN>=</SPAN><SPAN> </SPAN><SPAN>Encoding</SPAN><SPAN>.</SPAN><SPAN>ASCII</SPAN><SPAN>.</SPAN><SPAN>GetBytes</SPAN><SPAN>(</SPAN><SPAN>text </SPAN><SPAN>);</SPAN><SPAN>&nbsp; &nbsp; sock</SPAN><SPAN>.</SPAN><SPAN>SendTo</SPAN><SPAN>(</SPAN><SPAN>send_buffer </SPAN><SPAN>,</SPAN><SPAN> endPoint</SPAN><SPAN>);</SPAN><SPAN>&nbsp; </SPAN></pre></PRE> <p>Any help would be appreciated to point me in thre right direction.</p> <p>Thank you,</p> <p>Garry</p> 2010-11-21T18:45:45-05:004178590http://forums.asp.net/p/1625603/4178590.aspx/1?Re+Converting+Java+Code+to+C+Re: Converting Java Code to C# <p>Microsoft provide something for conversion process. I never use this so I have no idea, but you can test this !</p> <p>http://www.microsoft.com/downloads/en/details.aspx?FamilyID=46bea47e-d47f-4349-9b4f-904b0a973174&amp;displaylang=en</p> 2010-11-22T05:25:46-05:00