Bläddra i källkod

[fin]RPC & [plus]Send2MS

master
jaehoon_kim 4 år sedan
förälder
incheckning
a5f81d4df2
1 ändrade filer med 38 tillägg och 13 borttagningar
  1. 38
    13
      src/broker/modules/init.go

+ 38
- 13
src/broker/modules/init.go Visa fil

39
 	moscato *Moscato
39
 	moscato *Moscato
40
 }
40
 }
41
 
41
 
42
-//MS에서 보내는거-rpc call 사용
43
-/*func (l *Listner)MM_Receive(msg MsgUnit, reply *Reply)error{
44
-	reply.ReceiveMsg=msg
45
-
46
-	return nil
47
-}*/
48
-
49
 type Args struct { // 매개변수
42
 type Args struct { // 매개변수
50
 	JsonMsg []byte
43
 	JsonMsg []byte
51
 	Kind    int
44
 	Kind    int
52
 }
45
 }
53
 
46
 
54
-func (receiver Receiver) MM_Receive(args Args, reply *Reply) error {
47
+func (receiver Receiver) MmReceive(args Args, reply *Reply) error {
55
 	// 메세지 별로 나눠서 언마샬하면 됨
48
 	// 메세지 별로 나눠서 언마샬하면 됨
56
 	switch args.Kind {
49
 	switch args.Kind {
57
 
50
 
58
 	case KSM:
51
 	case KSM:
59
-		var msg KeyGenMsg
52
+		var msg KeyShareMsg
60
 		err:=json.Unmarshal(args.JsonMsg,&msg)
53
 		err:=json.Unmarshal(args.JsonMsg,&msg)
61
 		if err != nil {
54
 		if err != nil {
62
 			return err
55
 			return err
159
 	return msg, nil
152
 	return msg, nil
160
 }
153
 }
161
 
154
 
155
+//Ms로 보낼때 쓸 함수
156
+func (moscato *Moscato)Send2MS(ipaddress string,msg MsgUnit){
157
+	client,err:=rpc.Dial("tcp",ipaddress+":8150")
158
+	if err!=nil{
159
+		fmt.Println(err)
160
+		return
161
+	}
162
+	defer client.Close()
163
+
164
+	reply:=new(Reply)
165
+	jmsg,_:=msg.ConvertToJson()
166
+	args:=Args{
167
+		JsonMsg: jmsg,
168
+		Kind:    msg.CheckType(),
169
+	}
170
+	err:=client.Call("receiver.MsReceive",args,reply)
171
+	if err !=nil{
172
+		fmt.Println(err)
173
+		return
174
+	}
175
+	fmt.Println(reply.CompleteLog)//잘 받았는지 확인 해줌
176
+}
177
+
162
 func (moscato *Moscato) Run() {
178
 func (moscato *Moscato) Run() {
163
 	//모스카토 구조체 변수 초기화
179
 	//모스카토 구조체 변수 초기화
164
 	receiver := Receiver{moscato: moscato}
180
 	receiver := Receiver{moscato: moscato}
180
 
196
 
181
 func Listen() {
197
 func Listen() {
182
 	//l, err := net.Listen("tcp", fmt.Sprintf(":%v", 8160))
198
 	//l, err := net.Listen("tcp", fmt.Sprintf(":%v", 8160))
183
-	l, err := net.Listen("tcp", "0.0.0.0:8160")
199
+	l, err1 := net.Listen("tcp", ":8160")//MS로 부터 받는거
200
+	//l2, err2 := net.Listen("tcp","0.0.0.0:8150")
201
+	if err1 != nil {
202
+		log.Fatal(fmt.Sprintf("Unable to listen on given port: %s", err1))
203
+	}
204
+	/*defer l1.Close()
184
 
205
 
185
-	if err != nil {
186
-		log.Fatal(fmt.Sprintf("Unable to listen on given port: %s", err))
206
+	if err2 != nil {
207
+		log.Fatal(fmt.Sprintf("Unable to listen on given port: %s", err2))
187
 	}
208
 	}
188
-	defer l.Close()
209
+	defer l2.Close()*/
189
 
210
 
190
 	for {
211
 	for {
191
 		conn, _ := l.Accept()
212
 		conn, _ := l.Accept()
192
 		go rpc.ServeConn(conn)
213
 		go rpc.ServeConn(conn)
193
 	}
214
 	}
215
+	/*for {
216
+		conn, _ := l2.Accept()
217
+		go rpc.ServeConn(conn)
218
+	}*/
194
 }
219
 }

Laddar…
Avbryt
Spara