@@ -20,7 +20,7 @@ mod #TCP-CLIENT is
2020 op Client : -> #Socket-Cid .
2121 op cnum : #Nat -> #Socket-Oid .
2222 op #checkAnswer : #Socket-Oid #String ~> #String .
23- eq #checkAnswer(cnum(N),S) = #checkAnswer-aux(int2String(N), findString(S, "# ", 0), S) .
23+ eq #checkAnswer(cnum(N),S) = #checkAnswer-aux(int2String(N), findString(S, "\001 ", 0), S) .
2424 op #checkAnswer-aux : #String #Nat #String ~> #String .
2525 ceq #checkAnswer-aux(SN:#String, P:#Nat, S)
2626 = substrString(S, P:#Nat +Nat 1, lengthString(S))
@@ -36,7 +36,7 @@ mod #TCP-CLIENT is
3636
3737 vars Me Server : #Socket-Oid .
3838 var A : #Socket-AttributeSet .
39- var S : #String .
39+ var S S2 : #String .
4040 var M : #Socket-Msg .
4141 var C : #Socket-Configuration .
4242 var N : #Nat .
@@ -62,18 +62,14 @@ mod #TCP-CLIENT is
6262 [print Me " sending"] .
6363
6464 rl < Me : Client | #state: #sending,#Socket A > #Socket #sent(Me, Server)
65- => < Me : Client | #state: #receiving,#Socket A > #Socket #receive(Server, Me)
65+ => < Me : Client | #state: #receiving,#Socket answer: "",#Socket A > #Socket #receive(Server, Me)
6666 [print Me " receiving"] .
6767
68- rl < Me : Client | #state: #receiving,#Socket A > #Socket #received(Me, Server, S )
69- => < Me : Client | #state: #haveAnswer ,#Socket answer: S ,#Socket A >
68+ rl < Me : Client | #state: #receiving,#Socket answer: S,#Socket A > #Socket #received(Me, Server, S2 )
69+ => < Me : Client | #state: #receiving ,#Socket answer: (S +String S2) ,#Socket A > #Socket #receive(Server, Me)
7070 [print Me " have answer"] .
71-
72- rl < Me : Client | #state: #haveAnswer,#Socket #connectedTo: Server,#Socket A >
73- => < Me : Client | #state: #closing,#Socket #connectedTo: Server,#Socket A > #Socket #closeSocket(Server, Me)
74- [print Me " closing"] .
75-
76- rl < Me : Client | #state: #closing,#Socket A > #Socket #closedSocket(Me, Server, S)
71+
72+ rl < Me : Client | #state: #receiving,#Socket A > #Socket #closedSocket(Me, Server, S)
7773 => < Me : Client | #state: #finished,#Socket A >
7874 [print Me " finished"] .
7975
@@ -101,24 +97,24 @@ mod #TCP is
10197
10298 op #tcpRequest : #String [#Nat] -> [#String] .
10399 eq #tcpRequest(S:#String, N:#Nat) =
104- #checkResult(#containedRequest(#start(N:#Nat) #Socket #toSend(int2String(N:#Nat) +String "# " +String int2String(lengthString(S:#String)) +String "# " +String S:#String))) .
100+ #checkResult(#containedRequest(#start(N:#Nat) #Socket #toSend(int2String(N:#Nat) +String "\001 " +String int2String(lengthString(S:#String)) +String "\001 " +String S:#String))) .
105101
106102 op #checkResult : #String -> #String .
107103 op #getTCPData : #String -> #String .
108104
109105
110- ceq #checkResult(S:#String) = #getTCPData(substrString(S:#String, lengthString("success# "), lengthString(S:#String)))
111- if substrString(S:#String, 0, lengthString("success#")) ==Universal "success# " [print "full output: " S:#String] .
106+ ceq #checkResult(S:#String) = #getTCPData(substrString(S:#String, lengthString("success\001 "), lengthString(S:#String)))
107+ if substrString(S:#String, 0, lengthString("success#")) ==Universal "success\001 " [print "full output: " S:#String] .
112108
113109 ceq #getTCPData(S:#String)
114110 = substrString(S:#String, 0, N:#Nat)
115- if N:#Nat := findString(S:#String, "### ", 0) .
111+ if N:#Nat := findString(S:#String, "\001\001\001 ", 0) .
116112
117113 eq #getTCPData(S:#String)
118114 = #errorTCPSyntax("Incorrect Output: " +String S:#String) [owise] .
119115
120- ceq #checkResult(S:#String) = #errorTCPSyntax(#getTCPData(substrString(S:#String, lengthString("fail# "), lengthString(S:#String))))
121- if substrString(S:#String, 0, lengthString("fail# ")) ==Universal "fail# " [print "full error string: " S:#String] .
116+ ceq #checkResult(S:#String) = #errorTCPSyntax(#getTCPData(substrString(S:#String, lengthString("fail\001 "), lengthString(S:#String))))
117+ if substrString(S:#String, 0, lengthString("fail\001 ")) ==Universal "fail\001 " [print "full error string: " S:#String] .
122118
123119 eq #checkResult("") = #errorTCPSyntax("Unknown error") .
124120 eq #checkResult(#error) = #errorTCPSyntax("Unknown error") .
0 commit comments