如何使用Pascal编写TCP服务器和客户端

作者:佚名 上传时间:2023-04-15 运行软件:Free Pascal 软件版本:Free Pascal 3.0.4 版权申诉

本示例代码演示如何使用Pascal编写一个TCP服务器和客户端,客户端可以向服务器端发送消息,并收到相应的回复。实现方式是使用Sockets单元来创建TCP连接,通过socket套接字发送和接收消息。

{服务器端代码}
program TCPServer;
uses
  sockets;

var
  sock: TSocket;
  serverAddr: TInetSockAddr;
  addrLen: Integer;
  buff: array [0..511] of char;
  count: Integer;
  s: string;

begin
  sock := fpSocket(AF_INET, SOCK_STREAM, 0);
  serverAddr.sin_family := AF_INET;
  serverAddr.sin_port := htons(12345);
  serverAddr.sin_addr.s_addr := INADDR_ANY;

  fpBind(sock, @serverAddr, SizeOf(serverAddr));
  fpListen(sock, 5);

  repeat
    addrLen := SizeOf(serverAddr);
    count := fpAccept(sock, @serverAddr, @addrLen);

    WriteLn('客户端已连接');

    repeat
      count := fpRecv(count, @buff, SizeOf(buff), 0);
      s := buff;
      WriteLn('客户端发送的消息:', s);
      fpSend(count, @buff, count, 0);
    until s = 'disconnect';

    fpClose(count);
  until False;

  fpClose(sock);

end.

{客户端代码}
program TCPClient;
uses
  sockets;

var
  sock: TSocket;
  serverAddr: TInetSockAddr;
  addrLen: Integer;
  buff: array [0..511] of char;
  count: Integer;
  s: string;

begin
  sock := fpSocket(AF_INET, SOCK_STREAM, 0);
  serverAddr.sin_family := AF_INET;
  serverAddr.sin_port := htons(12345);
  serverAddr.sin_addr.s_addr := INADDR_ANY;
  fpConnect(sock, @serverAddr, SizeOf(serverAddr));

  repeat
    Write('请输入消息:');
    ReadLn(s);
    fpSend(sock, PChar(s), length(s), 0);
    count := fpRecv(sock, @buff, SizeOf(buff), 0);
    s := buff;
    WriteLn('服务器端回复:', s);
  until s = 'disconnect';

  fpClose(sock);

end.

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

用户评论
相关推荐
如何使用Pascal编写TCP服务器客户端
本示例代码演示如何使用Pascal编写一个TCP服务器和客户端,客户端可以向服务器端发送消息,并收到相应的回复。实现方式是使用Sockets单元来创建TCP连接,通过socket套接字发送和接收消息。
Free Pascal 3.0.4
Free Pascal
2023-04-15 07:39
使用Racket编写TCP服务器客户端
本示例展示了如何使用Racket编写一个TCP服务器和客户端,实现简单的聊天室功能。#lang racket(require tcp)(define PORT 8080)(define M
Racket 7.9
Racket
2023-04-29 22:00
使用Python编写TCP/IP服务器客户端
本示例代码演示了如何使用Python编写TCP/IP服务器和客户端,并通过导入socket模块实现。服务器端监听指定端口,客户端连接服务器并发送消息。服务器端:import socket#
Python 3.x
Python
2023-03-25 06:22
使用Erlang编写TCP服务器客户端通信
这个示例代码演示了如何使用Erlang编写一个简单的TCP服务器和客户端程序,以及如何在它们之间进行双向通信。实现方式使用Erlang的gen_tcp模块来创建和管理TCP连接,并使用Erlang的消
Erlang/OTP 22
Erlang/OTP
2023-04-25 03:06
使用lua编写TCP服务器客户端
这是一个关于如何使用lua编写TCP服务器端和客户端的简单示例代码。这个代码演示了如何通过创建一个服务器,等待客户端的连接并接受客户端的数据,以及客户端如何发送消息到服务器端并接收服务器端的回复。-
Lua 5.3.5
Lua
2023-04-23 10:39
使用Ada编写简单的TCP服务器客户端
本示例代码展示了如何使用Ada编写一个简单的TCP服务器和客户端,通过网络传输数据。服务器和客户端之间采用基于TCP协议的socket通信,客户端向服务器发送一段文本,服务器则将该文本返回给客户端展示
GNAT Community 2021
Ada
2023-04-09 08:13
FreeBSD下使用Python编写TCP服务器客户端
本示例演示了在FreeBSD操作系统下使用Python编写简单的TCP服务器和客户端程序,实现基本的网络通信功能。服务器端代码:import socket# 创建TCP套接字server_s
Python 3.8.5
Python
2023-10-12 04:07
使用Lua编写简单的TCP服务器客户端
展示如何使用Lua编写简单的TCP服务器和客户端,通过使用LuaSocket库实现。服务器可以监听多个客户端,每个客户端发送的消息都会广播给其他客户端。require("socket&qu
Lua 5.4
LuaSocket库
2023-05-19 01:23
python使用socket创建tcp服务器客户端
主要为大家详细介绍了python使用socket创建tcp服务器和客户端,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
PDF
44KB
2020-11-18 00:41
使用C#编写TCP服务器客户端通信程序
本文主要介绍如何使用C#编写TCP服务器和客户端通信程序。C#是一种通用型、现代化的编程语言,它提供了丰富的网络编程库,可以方便地进行网络编程。C#网络编程实例我们首先来看一个简单的C#网络编程实
.NET Framework 4.8
Visual Studio 2019
2023-04-17 08:12