Selaa lähdekoodia

[plus]comment

master
jaehoon_kim 4 vuotta sitten
vanhempi
commit
b5701587f8
1 muutettua tiedostoa jossa 40 lisäystä ja 19 poistoa
  1. 40
    19
      src/broker/modules/init.go

+ 40
- 19
src/broker/modules/init.go Näytä tiedosto

@@ -27,11 +27,11 @@ type myType struct {
27 27
 	err     error
28 28
 }
29 29
 
30
-type Reply struct {
31
-	CompleteLog string
30
+type Reply struct { //RPC리턴값
31
+	CompleteLog string //제대로 받았는지 확인하는 로그
32 32
 }
33 33
 
34
-type Receiver struct {
34
+type Receiver struct { //RPC 서버에 등록하기 위한 변수
35 35
 	moscato *Moscato
36 36
 }
37 37
 
@@ -40,8 +40,20 @@ type Args struct { // 매개변수
40 40
 	Kind    int
41 41
 }
42 42
 
43
-func (receiver Receiver) MmReceive(args Args, reply *Reply) error {
44
-	// 메세지 별로 나눠서 언마샬하면 됨
43
+/*
44
+MS→MM
45
+
46
+-MM 실행되면 MM서버는 열려있음(MS은 자동으로 Client)(포트 8150)
47
+
48
+-Send2MM 호출 → rpc call로 MmReceive호출해서 MM로 전달(json형식)
49
+
50
+-MmReceive에서 msgType 검사 후 그것에 맞게 msgUnit으로 MM의 Receive로 보냄
51
+
52
+-MM의 Receive에서 해당 Message를 처리
53
+ */
54
+
55
+func (receiver Receiver) MmReceive(args Args, reply *Reply) error {//
56
+	// 메세지 별로 나눠서 언마샬
45 57
 	switch args.Kind {
46 58
 
47 59
 	case KSM:
@@ -213,7 +225,20 @@ func (moscato *Moscato) Receive(msg MsgUnit) (MsgUnit, error) {
213 225
 	return msg, nil
214 226
 }
215 227
 
216
-//Ms로 보낼때 쓸 함수
228
+//MS로 보낼때 쓸 함수
229
+
230
+/*
231
+MM→MS
232
+
233
+-MS 실행되면 MS서버는 열려있음(MM은 자동으로 Client)(포트 8160)
234
+
235
+-Send2MS 호출 → rpc call로 MsReceive호출해서 MS로 전달(json형식)
236
+
237
+-MsReceive에서 msgType 검사 후 그것에 맞게 msgUnit으로 MS의 Receive로 보냄
238
+
239
+-MS의 Receive에서 해당 Message를 처리
240
+ */
241
+
217 242
 func (moscato *Moscato) Send2MS(ipaddress string, msg MsgUnit) {
218 243
 	client, err := rpc.Dial("tcp", ipaddress+":8150")
219 244
 	if err != nil {
@@ -279,25 +304,21 @@ func (moscato *Moscato) Run() {
279 304
 }
280 305
 
281 306
 func Listen() {
282
-	//l, err := net.Listen("tcp", fmt.Sprintf(":%v", 8160))
283
-	l, err1 := net.Listen("tcp", ":8160") //MS로 부터 받는거
284
-	//l2, err2 := net.Listen("tcp","0.0.0.0:8150")
307
+	/*
308
+	MS→MM일때 ⇒ port : 8160으로 열기
309
+
310
+	(MM이 Server, MS가 Client)
311
+	*/
312
+
313
+	l, err1 := net.Listen("tcp", ":8160")
314
+
285 315
 	if err1 != nil {
286 316
 		log.Fatal(fmt.Sprintf("Unable to listen on given port: %s", err1))
287 317
 	}
288 318
 	defer l.Close()
289 319
 
290
-	/*if err2 != nil {
291
-		log.Fatal(fmt.Sprintf("Unable to listen on given port: %s", err2))
292
-	}
293
-	defer l2.Close()*/
294
-
295 320
 	for {
296 321
 		conn, _ := l.Accept()
297 322
 		go rpc.ServeConn(conn)
298 323
 	}
299
-	/*for {
300
-		conn, _ := l2.Accept()
301
-		go rpc.ServeConn(conn)
302
-	}*/
303
-}
324
+}

Loading…
Peruuta
Tallenna