Instant Messaging mit beliebigem Inhalt
Laden Sie in einer Desktop-Sitzung ein Package, das einen Instant Messaging-Demokanal ("WIM") erzeugt. Hören Sie ihn ab.
![Click for copyable input](assets.de/instant-messaging-with-arbitrary-content/In_34.png)
Needs["DemoChannels`WIM`"]
Erzeugen Sie Ihren WIM-Kanal und hören Sie in ab.
![Click for copyable input](assets.de/instant-messaging-with-arbitrary-content/In_35.png)
channel = CreateWIMChannel[]
![](assets.de/instant-messaging-with-arbitrary-content/O_38.png)
![Click for copyable input](assets.de/instant-messaging-with-arbitrary-content/In_36.png)
listener = ChannelListen[channel]
![](assets.de/instant-messaging-with-arbitrary-content/O_39.png)
Senden Sie eine WIM-Nachricht an sich selbst. Ihre Nachricht erscheint in einem neuen Dialog-Notebook.
![Click for copyable input](assets.de/instant-messaging-with-arbitrary-content/In_37.png)
ChannelSend["WIM", "Hi there."]
![](assets.de/instant-messaging-with-arbitrary-content/O_40.png)
![](assets.de/instant-messaging-with-arbitrary-content/O_41.png)
Fügen Sie das aktuelle Notebook einer Nachricht hinzu.
![Click for copyable input](assets.de/instant-messaging-with-arbitrary-content/In_38.png)
ChannelSend["WIM", {"Sending a notebook.", InputNotebook[]}]
![](assets.de/instant-messaging-with-arbitrary-content/O_42.png)
![](assets.de/instant-messaging-with-arbitrary-content/O_43.png)
Andere Nutzer können Ihnen eine WIM-Nachricht senden, indem sie Ihren Kanal erwähnen.
![Click for copyable input](assets.de/instant-messaging-with-arbitrary-content/In_39.png)
yourWIM = $WolframID <> ":WIM"
![](assets.de/instant-messaging-with-arbitrary-content/O_44.png)
![Click for copyable input](assets.de/instant-messaging-with-arbitrary-content/In_40.png)
ChannelSend[yourWIM, "hello"]
![](assets.de/instant-messaging-with-arbitrary-content/O_45.png)
Oder Ihre WIM-URL.
![Click for copyable input](assets.de/instant-messaging-with-arbitrary-content/In_41.png)
listener["URL"]
![](assets.de/instant-messaging-with-arbitrary-content/O_46.png)
![Click for copyable input](assets.de/instant-messaging-with-arbitrary-content/In_42.png)
listener["URL"];
ChannelSend[%, "another message"]
![](assets.de/instant-messaging-with-arbitrary-content/O_47.png)
Jeder kann Ihnen außerdem eine Nachricht von einem Webbrowser (oder einem HTTP-Client) schichen, indem ein HTTP-Request an die folgende URL gemacht wird.
![Click for copyable input](assets.de/instant-messaging-with-arbitrary-content/In_43.png)
URLBuild[listener["URL"], {"operation" -> "send",
"Message" -> "yet another message"}]
![](assets.de/instant-messaging-with-arbitrary-content/O_48.png)
![Click for copyable input](assets.de/instant-messaging-with-arbitrary-content/In_44.png)
URLBuild[listener["URL"], {"operation" -> "send",
"Message" -> "yet another message"}];
URLFetch[%]
![](assets.de/instant-messaging-with-arbitrary-content/O_49.png)
Um auf eingehenden Nachrichten von anderen Nutzern zu antworten, authorisieren Sie die Kommunikation auf anderen Nutzerkanälen.
![Click for copyable input](assets.de/instant-messaging-with-arbitrary-content/In_45.png)
Unprotect[$AllowExternalChannelFunctions];
$AllowExternalChannelFunctions = True;
Beenden Sie den Kanal und stellen Sie die Sicherheitseinstellungen wieder her.
![Click for copyable input](assets.de/instant-messaging-with-arbitrary-content/In_46.png)
RemoveChannelListener[listener]
![](assets.de/instant-messaging-with-arbitrary-content/O_50.png)
![Click for copyable input](assets.de/instant-messaging-with-arbitrary-content/In_47.png)
$AllowExternalChannelFunctions = False;
Protect[$AllowExternalChannelFunctions];