Кто-нибудь знает действительно хорошую клиентскую / серверную утилиту терминала tcp / udp для Windows? - PullRequest
2 голосов
/ 20 мая 2010

Мне нужна утилита, которая позволяла бы мне отправлять / получать tcp и udp сообщения в качестве клиента или сервера, собирать пакеты, задавать ответы и т. Д. Предпочтительно в Windows. Пожалуйста, дайте мне знать, если вы видели что-нибудь подобное. СПАСИБО!

Ответы [ 4 ]

4 голосов
/ 05 апреля 2011

Я использую "Утилита Hercules SETUP" для этого. На первый взгляд это выглядит слишком просто, но это действительно очень полезная утилита.

1 голос
/ 20 мая 2010

Почему бы вам не попробовать TcpClient и TcpListener в System.Net на одном из языков .NET? Эти классы очень просто использовать для реализации клиент-серверной системы.

0 голосов
/ 31 января 2017

Вы можете сделать следующее с бесплатной пробной версией (без ограничения по времени) Docklight Scripting в Windows:

  • Отправка / получение ASCII или двоичных сообщений на / с TCP-сервера.
  • Будьте TCP-сервером и принимайте одно входящее соединение, а затем снова получайте и отправляйте TCP-сообщения. В том числе рассылка автоматических ответов / реакций на входящие данные.
  • Действовать как узел UDP и отправлять / получать сообщения UDP.

Еще одно бесплатное решение, которое я сам не пробовал, но действительно хорошо выглядит: Packet Sender

0 голосов
/ 22 июня 2010
//Server Binding

IPHostEntry ipHostInfo = Dns.Resolve(Dns.GetHostName());
IPAddress ipAddress = ipHostInfo.AddressList[0];
serverSocket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
IPEndPoint ipEndPoint = new IPEndPoint(ipAddress, 2015);
serverSocket.Bind(ipEndPoint);

//Begin Recceive from any client
IPEndPoint ipeSender = new IPEndPoint(IPAddress.Any, 0);
EndPoint epSender = (EndPoint)ipeSender;
serverSocket.BeginReceiveFrom(byteData, 0, byteData.Length, SocketFlags.None, ref epSender, new AsyncCallback(OnNetworkBytesReceived), epSender);


private void OnNetworkBytesReceived(IAsyncResult ar)
{
   IPEndPoint ipeSender = new IPEndPoint(IPAddress.Any, 0);
   EndPoint epSender = (EndPoint)ipeSender;
   int BytesRead = serverSocket.EndReceiveFrom(ar, ref epSender);
   //parse your data
   ParseNetworkBytes(BytesRead, epSender);
   serverSocket.BeginReceiveFrom(byteData, 0, byteData.Length, SocketFlags.None, ref    epSender, new AsyncCallback(OnNetworkBytesReceived), epSender);

}//OnNetworkBytesReceived()

//for sending to client
Byte[] byteDataTemp = msg.messagePacketByLength(i, Constants.MAXSENDBUFFERSIZE);
serverSocket.BeginSendTo(byteDataTemp, 0, byteDataTemp.Length, SocketFlags.None, epRcvr, new AsyncCallback(OnSend), null);


private void OnSend(IAsyncResult ar)
{ 
    try
    { 
        lock (serverSocket)
        { 
            serverSocket.EndSendTo(ar);
        } 
    } 
    catch (ObjectDisposedException objexp)
    { 

    } 
    catch (Exception exp)
    { 

    } 
}//OnSend()
...