Actor專案之服務端 客戶端

2021-09-17 18:59:26 字數 1893 閱讀 8350

本**使用語言是scala,首先需要說明一下actor的執行原理(圖中只是說明了乙個actor物件給自己發訊息,多個actor發訊息的原理相同):

這是乙個actor的執行機理,actor的本質是自己給自己發訊息。

1.首先建立乙個class物件繼承actor,裡面必須重寫receive方法,receive方法是乙個偏函式,所以需要用case捕獲

2.建立乙個object物件,利用actorsystem建立乙個工廠(這個工廠是用來建立該actor物件的**,注意乙個actor物件可以有多個**)。

3.建立出actor物件的**,利用**發訊息到1,然後1再發給自己的2中,2再把訊息傳送給actor物件。actor物件的receive方法接收訊息並處理。1,2,我們不需要關注,因為被封裝在包裡,我們直接呼叫就可以。

下面貼上**:

package day04

import akka.actor.

//helloactor是乙個actor類

class helloactor extends actor

}}object helloactor

}

下面以乙個專案為例:服務端(兩段**在乙個檔案中,只不過為了便於做筆記,分兩個截圖):

客戶端:

**如下:

服務端**:

package cn.sheep.robot

import akka.actor.

import com.typesafe.config.configfactory

class edu360server extends actor}}

}object edu360server

}

客戶端**:

package cn.sheep.robot

import akka.actor.

import com.typesafe.config.configfactory

import scala.io.stdin

class clientactor(host: string, port: int) extends actor:$/user/shanshan")

}// mailbox ->receive

override def receive: receive =

case servermessage(msg) => println(s"收到服務端訊息:$msg")

}}object clientactor }}

樣例類**:

package cn.sheep.robot

// 服務端傳送給客戶端的訊息格式

case class servermessage(msg: string)

// 客戶端傳送給伺服器端的訊息格式

case class clientmessage(msg: string)

服務端 客戶端 svn專案搭建

1,服務端安裝svn yum install subversion如果已經安裝,通過命令檢視版本 svn version2,建立倉庫 我們這裡在 home下建立乙個名為svn 此處我是用公司專案命名 的倉庫 repository 以後所有 都放在這個下面,建立成功後在svn下面多了幾個資料夾 其中特...

Python UDP客戶端 服務端

udpclient.py coding utf 8 from socket import servername 127.0.0.1 伺服器位址,本例中使用一台遠端主機 serverport 12000 伺服器指定的埠 clientsocket socket af inet,sock dgram 建立...

python udp客戶端,服務端

客戶端1 建立套接字 2 收發資料 3 關閉套接字 import socket 建立套接字 socket socket.socket socket.af inet,socket.sock dgram 傳送資料 傳送資料的型別必須是位元組型別 data 你猜 encode gbk addr 192.1...