仓颉语言---Socket编程

一、什么是Socket编程?

        1.定义

        Socket(套接字)可以被理解为网络上两个进程之间通信的端点。它是网络通信的抽象表示,封装了底层网络协议的复杂性,为应用程序提供了一个简单统一的接口。

        Socket 编程是一种网络编程范式,它允许不同计算机上的进程通过网络进行通信。这种通信可以发生在同一设备上的不同进程之间,也可以发生在不同地理位置的设备之间。Socket 编程提供了一种标准的方式来实现网络通信,是构建各种网络应用的基础。

        2.Socket编程的特点

                (1)网络抽象:隐藏了底层网络协议的细节,使开发者只需关注应用层逻辑

                (2)双向通信:支持数据的双向传输

                (3)进程标识:通过 IP 地址和端口号唯一标识网络中的进程

                (4)协议无关:可基于不同的传输层协议(如 TCP、UDP)

        3.Socket通信模型

        Socket通信基于客户端-服务器模型

        服务器:监听特定端口,等待客户端连接请求

        客户端:主动发起连接请求,与服务器建立通信

        4.Socket编程的使用场景

        Web服务器和客户端、即时通信应用(如聊天软件)、文件传输(如FTP、SFTP)、远程控制、网络游戏、分布式系统、物联网设备通信


二、Socket编程基于TCP协议和UDP协议的通信机制

        TCP(传输控制协议):面向连接、可靠、基于字节流的协议
        UDP(用户数据报协议):无连接、不可靠、基于数据报的协议
        1.socket基于TCP协议的通信机制

        仓颉客户端构建:

        

        仓颉服务器端构建:

        

        运行结果:

        客户端:

        

        服务器:

        

        2.Socket基于UDP协议的通信机制

        仓颉客户端构建:

                 

          仓颉服务器端构建:

        

        运行结果:


三、基于Socket编程,仓颉语言和java语言能否实现跨语言通信呢?

        尝试使用仓颉语言构建客户端,使用java语言构建服务器端

        1.仓颉语言构建客户端:

        2.java语言构建服务器端:

        

        运行结果:

        java服务器:

        

        仓颉客户端:

        

        在java中,接收一条消息,通常以换行符“\n”为作为一条消息的结束。所以仓颉作为客户端向java服务器发送的消息需要以“\n”结束,java这边才可以正常接收到消息

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值