本**使用語言是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...