[ad_1]
Python
import logging import socket import random from time import sleep HOST = "192.168.1.100" PORT = 8750 def send_udp_command(command): COUNTER = "0s2a" + str(random.randint(10, 99)) COMMAND = COUNTER + " " + command + " \r\n" sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) sock.sendto( bytes(COMMAND, "utf-8"), (HOST, PORT)) received = str(sock.recv(1024), "utf-8")
私が試したこと:
何も、Python も vb.net も知りません。 翻訳者をグーグルで探してみましたが、うまくいきませんでした。
解決策 2
ステップ 1: Python を学習します。
ステップ 2: VB を学ぶ
ステップ 3: Python コードを新しい VB アプリの仕様として使用します。
言語を変換しないでください。ターゲット言語ではまったく異なるフレームワークが使用されるため、適切なコードは生成されません。また、ソース言語で何かを適切に動作させるデータ構造は通常、ターゲット言語では大きく異なります。
これはコード変換サービスではありません。私たちは、提出するだけで済む完全なプロジェクトを提供するためにここにいるわけではありません。時間がない場合は、すぐに新しいアプリを書き始めることを強くお勧めします。これを作成すると、アルゴリズム、構造などに関して何をする必要があるかがわかります。そのため、Python コードを作成するよりも、VB バージョンを作成するのにかかる時間が大幅に短縮されるはずです。
幸運を!
解決策 1
非常に大まかに言うと、これがコンパイルできるとは思えませんが、次のようなことはできます (非常に未加工ですが、十分に改善できる可能性があります)。ああ、明らかに VB.Net ではなく C# です。
using System.Net.Sockets; using System.Text; // Needs HOST, PORT, command Socket s = new Socket( AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Udp ); IPAddress ipAddress = IPAddress.Parse(HOST); Random random = new Random(); int randomNumber = random.Next(10, 100); // NB : 100 NOT included so 10..99 String message = "0s2a" + randomNumber.ToString() + command + @"\r\n"; byte[] msg = Encoding.UTF8.GetBytes(message); byte[] bytes = new byte[256]; try { // Connect to server s.Connect( new IPEndPoint( ipAddress, PORT ) ); // Send Message (Blocking) int i = s.Send(msg); Console.WriteLine("Sent {0} bytes.", i); // Get reply from the server. i = s.Receive(bytes); Console.WriteLine("Received (0} bytes = {1}", i, Encoding.UTF8.GetString(bytes)); } catch (SocketException e) { Console.WriteLine("{0} Error code: {1}.", e.Message, e.ErrorCode); }
[ad_2]
コメント