使用Ada编写简单的TCP服务器和客户端

作者:佚名 上传时间:2023-04-09 运行软件:Ada 软件版本:GNAT Community 2021 版权申诉

本示例代码展示了如何使用Ada编写一个简单的TCP服务器和客户端,通过网络传输数据。服务器和客户端之间采用基于TCP协议的socket通信,客户端向服务器发送一段文本,服务器则将该文本返回给客户端展示在屏幕上。这个示例演示了一些基本的网络编程知识,涉及到socket连接的建立、发送和接收数据等操作。

with Ada.Sockets; use Ada.Sockets;

procedure Tcp_Client is
   Host : constant String := "127.0.0.1";  -- 服务器的IP地址
   Port : constant Integer := 5000;        -- 服务器监听的端口号

   Client : Socket_Type;  -- 客户端socket
begin
   Create_Socket (Client, AF_Inet, Sock_Stream);

   Connect_Socket (Client, Host, Port);

   Put_Line ("连接到服务器成功!");

   declare
      Buffer : String (1..100);  -- 用于存储读取到的数据
   begin
      Put ("请输入要发送的文本: ");
      Get_Line (Buffer);

      Send (Client, Buffer);

      Recv (Client, Buffer);

      Put_Line ("服务器返回的文本是: " & Buffer);
   end;

   Close_Socket (Client);
end Tcp_Client;

with Ada.Sockets; use Ada.Sockets;

procedure Tcp_Server is
   Port : constant Integer := 5000;

   function Echo (Socket : Socket_Type) return Boolean is
      Buffer : String (1..100);  -- 用于存储读取到的数据
   begin
      Recv (Socket, Buffer);

      Send (Socket, Buffer);

      return True;
   end Echo;

   procedure Handle_Client (Socket : Socket_Type) is
   begin
      loop  -- 一直处理client端发来的请求
         exit when not Echo (Socket);
      end loop;
   end Handle_Client;

   procedure Accept_Client (Server : Socket_Type) is
      Client : Socket_Type;
   begin
      Accept (Server, Client);

      Put_Line ("接受到一个客户端连接!");

      Handle_Client (Client);

      Close_Socket (Client);
   end Accept_Client;

   Server : Socket_Type;
begin
   Create_Socket (Server, AF_Inet, Sock_Stream);  -- 创建服务器socket

   Bind_Socket (Server, Port);  -- 监听指定端口的连接请求

   Loop  -- 一直监听client端连接请求
      Accept_Client (Server);
   End Loop;

   Close_Socket (Server);  -- 关闭socket
end Tcp_Server;

免责申明:文章和图片全部来源于公开网络,如有侵权,请通知删除 server@dude6.com

用户评论
相关推荐
使用Ada编写简单TCP服务器客户端
本示例代码展示了如何使用Ada编写一个简单的TCP服务器和客户端,通过网络传输数据。服务器和客户端之间采用基于TCP协议的socket通信,客户端向服务器发送一段文本,服务器则将该文本返回给客户端展示
GNAT Community 2021
Ada
2023-04-09 08:13
使用Ada语言编写简单TCP客户端
本文介绍如何使用Ada语言编写一个简单的TCP客户端,包括示例代码、代码释义和总结。示例代码以下是使用Ada语言编写的简单TCP客户端的示例代码。with Ada.Text_IO; use Ad
N/A
N/A
2023-04-03 21:09
使用ADA编写简单TCP服务器
该示例展示了如何使用ADA编写一个简单的TCP服务器,在客户端连接时向其发送一条消息。实现方式是使用Ada.Sockets和Ada.Streams库进行TCP套接字编程。with Ada.Socke
GNAT Community 2020
Ada
2023-04-18 15:57
使用ADA编写简单TCP/IP网络客户端
本示例代码演示如何使用ADA编写TCP/IP网络客户端。主要使用了标准的套接字库和利用任务来实现异步读写。在程序的主任务中与用户交互,创建子任务来处理网络连接及数据收发。with Ada.Text_
GNAT Community 2019
GNU ADA编译器
2023-03-22 13:10
使用Ada编写基于TCP简单服务器
本示例展示了使用Ada编写基于TCP协议的简单服务器,该服务器可以接受客户端的连接并回复收到的数据。with Ada.Sockets; -- 导入套接字外部包procedure Simple_Se
GNAT Community Edition 2020 (20200608-96)
AdaCore GNAT
2023-03-22 05:40
使用Lua编写简单TCP服务器客户端
展示如何使用Lua编写简单的TCP服务器和客户端,通过使用LuaSocket库实现。服务器可以监听多个客户端,每个客户端发送的消息都会广播给其他客户端。require("socket&qu
Lua 5.4
LuaSocket库
2023-05-19 01:23
使用Rust编写一个简单TCP服务器客户端
展示如何使用Rust语言编写一个基于TCP协议的服务器和客户端,实现简单的消息传递功能。代码中包括创建和绑定socket、连接和发送数据等基本操作。// 服务器端use std::io::{Buf
Rust 1.55.0
Visual Studio Code
2023-05-29 00:55
使用Ada创建简单TCP服务器
该示例代码演示了如何使用Ada编程语言创建一个简单的TCP服务器。服务器将使用socket库与客户端进行通信,接收传入的消息并将其输出到终端上。代码中介绍了socket库的使用方式,包括创建套接字、监
GNAT Community 2019
Ada Programming Language
2023-05-23 12:51
Ada编写TCP服务器
示例代码展示了如何使用Ada编写一个简单的TCP服务器。代码使用了标准的TCP/IP套接字,它将接受客户端的连接并向客户端发送简单的消息。实现方式非常清晰,易于阅读,可以作为初学者学习Ada网络编程的
GNAT Community Edition 2019
AdaCore GNAT
2023-05-23 16:32
使用Racket编写TCP服务器客户端
本示例展示了如何使用Racket编写一个TCP服务器和客户端,实现简单的聊天室功能。#lang racket(require tcp)(define PORT 8080)(define M
Racket 7.9
Racket
2023-04-29 22:00