|
|
@@ -39,24 +39,17 @@ type Receiver struct {
|
|
39
|
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
|
42
|
type Args struct { // 매개변수
|
|
50
|
43
|
JsonMsg []byte
|
|
51
|
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
|
49
|
switch args.Kind {
|
|
57
|
50
|
|
|
58
|
51
|
case KSM:
|
|
59
|
|
- var msg KeyGenMsg
|
|
|
52
|
+ var msg KeyShareMsg
|
|
60
|
53
|
err:=json.Unmarshal(args.JsonMsg,&msg)
|
|
61
|
54
|
if err != nil {
|
|
62
|
55
|
return err
|
|
|
@@ -159,6 +152,29 @@ func (moscato *Moscato) Receive(msg MsgUnit) (MsgUnit, error) {
|
|
159
|
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
|
178
|
func (moscato *Moscato) Run() {
|
|
163
|
179
|
//모스카토 구조체 변수 초기화
|
|
164
|
180
|
receiver := Receiver{moscato: moscato}
|
|
|
@@ -180,15 +196,24 @@ func (moscato *Moscato) Run() {
|
|
180
|
196
|
|
|
181
|
197
|
func Listen() {
|
|
182
|
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
|
211
|
for {
|
|
191
|
212
|
conn, _ := l.Accept()
|
|
192
|
213
|
go rpc.ServeConn(conn)
|
|
193
|
214
|
}
|
|
|
215
|
+ /*for {
|
|
|
216
|
+ conn, _ := l2.Accept()
|
|
|
217
|
+ go rpc.ServeConn(conn)
|
|
|
218
|
+ }*/
|
|
194
|
219
|
}
|