Wolfram Language

Cadre de canaux

Messagerie instantanée avec un contenu arbitraire

Dans une session sur le bureau, chargez un progiciel qui crée une démonstration de messagerie instantanée (« WIM ») et commencez à l'écouter.

In[1]:=
Click for copyable input
Needs["DemoChannels`WIM`"]

Créez votre canal WIM et commencez à l'écouter.

In[2]:=
Click for copyable input
channel = CreateWIMChannel[]
Out[2]=
In[3]:=
Click for copyable input
listener = ChannelListen[channel]
Out[3]=

Envoyez-vous un WIM et regardez votre message dans un nouveau notebook de dialogue.

In[4]:=
Click for copyable input
ChannelSend["WIM", "Hi there."]
Out[4]=
Out[5]=

Attachez le notebook en cours à un message.

In[6]:=
Click for copyable input
ChannelSend["WIM", {"Sending a notebook.", InputNotebook[]}]
Out[6]=
Out[7]=

Les autres utilisateurs peuvent vous envoyer un WIM en référençant votre chaîne pleinement qualifiée.

In[8]:=
Click for copyable input
yourWIM = $WolframID <> ":WIM"
Out[8]=
In[9]:=
Click for copyable input
ChannelSend[yourWIM, "hello"]
Out[9]=

Ou votre URL de WIM.

In[10]:=
Click for copyable input
listener["URL"]
Out[10]=
In[11]:=
Click for copyable input
listener["URL"]; ChannelSend[%, "another message"]
Out[11]=

Tout le monde peut également vous envoyer un message à partir d'un navigateur Web (ou tout autre client HTTP) en faisant une requête HTTP à l'URL suivante.

In[12]:=
Click for copyable input
URLBuild[listener["URL"], {"operation" -> "send", "Message" -> "yet another message"}]
Out[12]=
In[13]:=
Click for copyable input
URLBuild[listener["URL"], {"operation" -> "send", "Message" -> "yet another message"}]; URLFetch[%]
Out[13]=

Pour répondre aux messages entrants provenant d'autres utilisateurs, autorisez la communication sur les canaux de l'utilisateur.

In[14]:=
Click for copyable input
Unprotect[$AllowExternalChannelFunctions]; $AllowExternalChannelFunctions = True;

Arrêtez d'écouter et restaurez les paramètres de sécurité.

In[15]:=
Click for copyable input
RemoveChannelListener[listener]
Out[15]=
In[16]:=
Click for copyable input
$AllowExternalChannelFunctions = False; Protect[$AllowExternalChannelFunctions];

Exemples connexes

de en es ja ko pt-br ru zh