HSP で TCP 接続

ストレージの整理をしていたら、20数年前の HSP のコードが出てきました。

HPS とは Hot Soup Processor のことで、中学・高校の頃に使っていた和製のプログラミング言語環境です。

当時を思い起こすと、

  • プログラミング入門者が
  • Windows 98 や Me で
  • 無料で
  • 導入のハードルが低い(=とっつきやすい)環境を準備し
  • それなりに動く
  • GUI ソフトを書ける環境

って HSP や Delphi くらいだったような気がします。(今検索してみたら、まだまだ HSP 界隈は活動中のようです。すごい!)

HSP は簡単に GUI ソフトが書ける BASIC みたいな感じの言語でした。「簡単に GUI ソフトを書ける」というのは、入門者のモチベーションに影響を与える重要なファクタだと思っています。

小学生の頃にオーサリングツールの名作である HyperCard で HyperTalk/AppleScript を少しだけかじって、中学の頃に C 言語に触れて、そのまま HSP に行っちゃったので良くも悪くも当時の手堅い言語環境には触れてきませんでした。(もっと Lisp とか、生まれたばかりの Ruby とかに触れておきたかった)

僕よりひとまわり上の世代までの国産コンピューター野郎は「少年期に BASIC」が多いと思います。僕よりひとまわり下の世代はどうなっているんだろう。もっと細分化されていて「猫も杓子も BASIC」みたいな状態はなくなっていたかもしれません。

さて、見つけたコードは HSP から Perl (当時は特に CGI/Perl ) に興味が移ってきた頃に書いていたようです。

#include "hspsock.as"

	title "TCPクライアントテスト"

	width 320,240

	adr="000.000.000.000"
	port=2663
	mes adr+"のポート"+port+"に接続中..."
	sockopen 0,adr,port
	if stat : mes "socket error" : goto *bye

	mes "接続しました..."

	button "pushme",*send

*main

	a=0
	repeat
	sockcheck 0
	title "CHK="+stat+"/"+a
	if stat!=0 : break
	wait 10
	a+
	loop

	a=""
	sockget a,64
	if stat : mes "受信失敗" : goto *bye
	mes "サーバーからの応答: "+a
	goto *main
*bye
	mes "終了"
	sockclose
	stop


*send
	mess="now"
	sockput mess
	if stat : mes ""+time+" Socket Sending ERROR": goto *bye

	goto *main

似たようなコードがありました。当時のサンプルとして HSP に同梱されていた client2.as を編集して試していたみたいです。価値はないですが、思い出として貼りつけておきます。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

This site uses Akismet to reduce spam. Learn how your comment data is processed.