Merge pull request #2 from MeexReay/main
docs(protocol): write about differences when receiving messages in wrac
This commit is contained in:
commit
4dda6cf9e5
@ -4,6 +4,8 @@ import { ArrowLeft } from "lucide-react";
|
||||
import Link from "next/link";
|
||||
import Text from "@/components/blocks/Text";
|
||||
import PageTitle from "@/components/blocks/PageTitle";
|
||||
import Title from "@/components/blocks/Title";
|
||||
import InlineCode from "@/components/blocks/InlineCode";
|
||||
|
||||
export default function Wrac() {
|
||||
return (
|
||||
@ -26,7 +28,25 @@ export default function Wrac() {
|
||||
<Text>
|
||||
WRAC (WebSocket Real Address Chat) is a community-made successor to
|
||||
RAC that uses WebSockets instead of TCP. It uses the same requests as
|
||||
RAC, but you should send data in binary format.
|
||||
RAC, but you should send data in binary format. Also, you can use the
|
||||
same connection multiple times, what differs from the usual RAC, where
|
||||
you had to connect the server each time you made some request. That
|
||||
causes some differences in the messages receiving.
|
||||
</Text>
|
||||
<Title id={"receiving-messages"}>Receiving messages</Title>
|
||||
<Text>
|
||||
As the connection now can be keep-alive, and the websocket uses messages
|
||||
for transactions, we can't just do the same as we did in RAC to get the messages.
|
||||
</Text>
|
||||
<Text>
|
||||
Now, to use those packets (<InlineCode>0x01</InlineCode> for normal reading and <InlineCode>0x02</InlineCode> for chunked reading),
|
||||
we need to let the server know that we want to use them, and not send
|
||||
messages (the same packet-ids). The way how to do this is just add the byte <InlineCode>0x00</InlineCode> to the start
|
||||
of packets. For example: <InlineCode>0x00</InlineCode> <InlineCode>0x01</InlineCode> for normal reading.
|
||||
</Text>
|
||||
<Text>
|
||||
This way we can separate the packets that receive data from the packet that receives the total size.
|
||||
In the sence of keep-alive, WRAC solves the main problem with usual RAC.
|
||||
</Text>
|
||||
<Footer />
|
||||
</main>
|
||||
|
Loading…
x
Reference in New Issue
Block a user