任意の内容のインスタントメッセージング
デスクトップセッションで,インスタントメッセージングのデモチャネル("WIM")を作成するパッケージをロードし,そこでリッスン(待ち受け)し始める.
In[1]:=
Needs["DemoChannels`WIM`"]
自分のWIMチャネルを作成し,そこでリッスンし始める.
In[2]:=
channel = CreateWIMChannel[]
Out[2]=
In[3]:=
listener = ChannelListen[channel]
Out[3]=
自分自身にWIMを送信すると,新しいダイアログノートブックに自分のメッセージが表示される.
In[4]:=
ChannelSend["WIM", "Hi there."]
Out[4]=
Out[5]=
現行ノートブックをメッセージに添付する.
In[6]:=
ChannelSend["WIM", {"Sending a notebook.", InputNotebook[]}]
Out[6]=
Out[7]=
完全修飾形式を参照することによって,他のユーザもWIMに送信することができる.
In[8]:=
yourWIM = $WolframID <> ":WIM"
Out[8]=
In[9]:=
ChannelSend[yourWIM, "hello"]
Out[9]=
WIMのURLを参照して送信することもできる.
In[10]:=
listener["URL"]
Out[10]=
In[11]:=
listener["URL"];
ChannelSend[%, "another message"]
Out[11]=
Webブラウザから(あるいは他のどのHTTPクライアントからでも)HTTPリクエストを以下のURLに行うことで,誰でもメッセージを送信することができる.
In[12]:=
URLBuild[listener["URL"], {"operation" -> "send",
"Message" -> "yet another message"}]
Out[12]=
In[13]:=
URLBuild[listener["URL"], {"operation" -> "send",
"Message" -> "yet another message"}];
URLFetch[%]
Out[13]=
他のユーザからの着信メッセージに返信するために,ユーザチャネルの通信を認証する.
In[14]:=
Unprotect[$AllowExternalChannelFunctions];
$AllowExternalChannelFunctions = True;
リッスンするのを止め,セキュリティ設定をもとに戻す.
In[15]:=
RemoveChannelListener[listener]
Out[15]=
In[16]:=
$AllowExternalChannelFunctions = False;
Protect[$AllowExternalChannelFunctions];