龍ー魔の本棚

2006-12-15 ついに来ました!!

ttp://headlines.yahoo.co.jp/hl?a=20061215-00000014-bcn-sci

上ね

私が高校時代に何年後かに実現みたいな感じで

理論だけか良く知らないけど雑誌に出てて

すげ〜期待してたのに

それ以来音沙汰の無かったこの技術

早く屋内のみだって

普通に良い技術ですよね!

honnninnhonnninn 2007/12/04 16:01 import java.io.*;
import java.net.*;

public class AnimServer1 extends Thread{
//全体で使用出来るソケットを用意
Socket as;
public static void main(String[] args){
try{
//接続者の接続数を判断するための変数
String iremono[]=null;
String kariire;
int kazu[];
int imadoko=0,i;
InetAddress ipaddr;
int port = 8000;
//サーバソケットの作成
ServerSocket ss = new ServerSocket(port);
System.out.println(”Running...”);
while(true){
Socket s = ss.accept();
new AnimServer1(s).start();
//どこから接続してきた
ipaddr = s.getInetAddress();
//System.out.println(”ip:[”+ipaddr+”]”);
//回数カウント用
kariire=ipaddr.toString();
i=0;
while(i<=imadoko){
//if(iremono[i]==kariire){
System.out.println(kariire);
i=2000000;
//}
i++;
}
if(i<2000000){
iremono[imadoko]=kariire;
}
imadoko++;
}
}
//エラー部分は理解がまだ及んでいないため、前のプログラムからコピーExceptionで無い?
catch(Exception e){
System.out.println(”Exception :::: ” +e);
}

}
//mainメソッドで受け取ったソケット情報をどの場所でも使える[as]に入れる
public AnimServer1(Socket s){
this.as=s;
}
//同時起動部分インスタンスにて移動したソケット情報を使い、データーを送信する
public void run(){
try{
byte buf[] = new byte[160*120];
int i;
BufferedInputStream biStream;
biStream = new BufferedInputStream(
new FileInputStream(”spring.raw”));
DataOutputStream dos = new DataOutputStream(as.getOutputStream());



for(i =0; i<=200; i++){
biStream.read(buf,0,160*120);
dos.write(buf,0,160*120);
//課題64送信が終わったら動画送信終了と表示する
if(buf[0]<0){
System.out.println(”動画送信終了”);
}
}
as.close();
}
catch(Exception e){
System.out.println(”Exception //: ” +e);
e.printStackTrace();
}
}
}

honhon 2008/01/12 19:36 サーバー
import java.io.*;
import java.net.*;

public class AnimUDPServer02{
public static int SIZE=123456;
public static void main(String args[]){
int port=8000;//ポートは8000
BufferedInputStream biStream;
InetAddress clientAddress;
int clientPort,kari=1000;

//送信用DatagramPacket
byte buf[] = new byte[160*120];
DatagramPacket sendPacket = new DatagramPacket(buf,buf.length);

//受信用DatagramPacket
byte req[] = new byte[32];
DatagramPacket receivePacket = new DatagramPacket(req,req.length);

try{
//ソケットの作成(Port 8000)
DatagramSocket socket = new DatagramSocket(port);
System.out.println(”Running...”);
//ACK用
DatagramSocket ack = new DatagramSocket(8008);


while(true){
socket.receive(receivePacket);
clientAddress = receivePacket.getAddress();
clientPort = receivePacket.getPort();
socket.send(receivePacket);
//ファイル名受信用テスト
byte[] namae =new byte[SIZE];
//socket.receive(receivePacket);
namae = receivePacket.getData();
int nagasa = receivePacket.getLength();
String str = new String(namae,0,nagasa);
System.out.println(str);
//ファイル名受信用テスト
//sendPacketのIPaddress, portNO, データ長設定
sendPacket.setAddress(clientAddress);
sendPacket.setPort(clientPort);
sendPacket.setLength(160*120);

biStream = new BufferedInputStream(new
FileInputStream(str));
for(int i=0;i <= 200; i++){
biStream.read(buf,0,160*120);
//kari=Integer.parseInt(args[0]);
//Thread.sleep(kari);
//ACKテスト用
System.out.println(”test1”);
byte req2[] = new byte[32];
DatagramPacket mati = new DatagramPacket(req2,req2.length);
ack.receive(mati);
req2 = mati.getData();
int karia = receivePacket.getLength();
String stri = new String(req2,0,karia);
System.out.println(stri);
System.out.println(”test3”);
//ACKテスト用
socket.send(sendPacket);
}
biStream.close();
}
//socket.close();
}
catch(Exception e){
System.out.println(”Exception3: ” + e);
}
}





















クライアント
import java.io.*;
import java.net.*;
import java.awt.*;
import java.awt.event.*;
import java.awt.image.*;

class AnimUDPClient{
public static void main(String[] args){
AppFrame3 f = new AppFrame3(args[0],args[1]);
f.setSize(640,480);
f.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.out.println(”kk”);
System.exit(0);
}});
f.show();
}
}

class AppFrame3 extends Frame{
String hostname,filename;
int i;
ImageSocket imgsock;
AppFrame3(String hostname,String filename){
this.hostname = hostname;
this.filename = filename;
//74
imgsock = new ImageSocket(hostname,filename);
}
public void update(Graphics g){
paint(g);
}
public void paint(Graphics g){
if(imgsock != null){
Image img = imgsock.loadNextFrame();
//課題71
if(img != null){
g.drawImage(img,10,50,480,360,this);
i++;
System.out.println(”[”+i+”]”);
}
}//}else{
//imgsock = new ImageSocket(hostname);
//}
repaint(1);
}
}

class ImageSocket{
int port = 8000;
DatagramSocket socket;//通信用ソケット
InetAddress serverAddress;//サーバアドレス保管
byte buf[];//バッファ
DatagramPacket receivePacket;//受信データ
BufferedImage bImage;//イメージ
boolean fin = false;/**********///終了フラグ


ImageSocket(String hostname,String filename){
buf=new byte[160*120];
byte request[]=”REQUEST”.getBytes();
try{
socket = new DatagramSocket();//ソケットの作成
//送信データ用のDatagramPaketの作成
serverAddress=InetAddress.getByName(hostname);
DatagramPacket sendPacket=new DatagramPacket(request,request.length,serverAddress,port);
//受信データ用DatagramPacketの作成
receivePacket=new DatagramPacket(buf,160*120);
bImage=new BufferedImage(160,120,BufferedImage.TYPE_BYTE_GRAY);
//ファイル名送信テスト用{
String kamesan=filename;
System.out.println(kamesan);
byte[] kame = kamesan.getBytes();
DatagramPacket kameokuri= new DatagramPacket(kame,kame.length,serverAddress,port);
//ファイル名送信テスト用}
socket.setSoTimeout(300);//タイムアウトの設定(三秒)
//socket.send(sendPacket);//REQUESTの送信
socket.send(kameokuri);
socket.receive(receivePacket);//応答の受信
receivePacket.setLength(160*120);//受信可能サイズの再設定
}
catch(Exception e){
System.out.println(”Exception:”+e);
}
}

Image loadNextFrame(){
if(fin) return null;/**********/
try{
int x,y,pixel;
//ACKテスト
String ok=”OK”;
byte[] okk = ok.getBytes();
DatagramPacket ook= new DatagramPacket(okk,okk.length,serverAddress,8008);
socket.send(ook);
//ACKテスト
socket.receive(receivePacket);//画像データ受信

for(y=0;y<120;y++){
for(x=0;x<160;x++){
pixel = (int)buf[y*160+x]*2;
if(pixel < 0){
socket.close();
System.out.println(”Done.”);
fin =true; /**********/
return null;
}
pixel = new Color(pixel,pixel,pixel).getRGB();
bImage.setRGB(x,y,pixel);
}
}
}
catch(Exception e){
System.err.println(”Exception2 : ” + e);
System.exit(0);
}
return bImage;

}

hhhh 2008/01/14 21:03 1.目的
TCP・UDPの通信システムの理解を目的として、TCP・UDPのサーバとクライアント間の通信を用いた動画再生機能の実装を行う。

2.課題
UDPサーバと動画再生クライアントを用いて、再生動画を指定し、またサーバ側でスリープ処理を用いずに、ACKを利用した通信が可能なUDPサーバ、動画再生クライアントを作成する。

3. ソースコード
ソースコードを以下に示す.
ここで、授業の演習内で作成したソース以外の中で主な部分の開設を行う。
まず、サーバプログラムの26行目では、ACKを受け取るためのソケットを作成している。??〜??行目は、ファイル名をクライアントから受信したデータグラムパケットから、文字列の長さを調べた後に取得し、String形式に変換している。??〜??行では、クライアントからACKパケットを受け取るまで次の情報送信を行うプログラムに移行しないようにし、Sleepを用いず、また通信途中にサバ、クライアント間での通信に必要な時間が変化した場合でもクライアント側で一つ前に送信した画像を表示するまでパケットの送信を行わないようにしている。
次に、クライアント側のプログラムでは、??行〜??行で、コマンドライン引数で入力されたファイル名をmainメソッドから取得し、それをリクエストの代わりとしてサーバー側に送信する事により、起動時に選択した動画ファイルを再生するようにしている。??行〜??行では、クライアントがサーバーから情報を受信できるようになる直前にACKを送信する事により、クライアント側の表示処理が終了していないのに、次のフレームの動画情報を送信される事を防いでいる。


4. 実行結果
以下の条件で実験を行った.
場所:千葉工業大学津田沼校舎演習室
時間:2008/01/12 19:00
4.1 ファイル名を指定した動画再生を確認する実験
サーバ・クライアント共に、仮想計算機上で実行した。クライアントを実行する時には、再生したいファイル名をコマンドライン引数にて指定し、それぞれ??回動作させた。サーバー側に用意されていた動画のファイル名をコマンドライン引数として入力した場合は、すべて指定した動画を再生する事が出来た。また、存在しないファイルをコマンドライン引数にて指定したばあいは、???????????のようになった。
4.2 ACKに関する実験
サーバ・クライアント共に、仮想計算機上で動かしてspring.rawを**回再生させた。演習課題のサーバプログラムでは、サーバプログラムの実行時にコマンドライン引数にて1フレーム分の情報を送信してから待機する時間をしていていた。この場合、コマ送りの画像ではなく、動画として認識出来、全体の内容が理解できる程度に再生するには、私の仮想計算機上の環境では、40ほどのSleep時間が最適であった。しかし、この場合でも、200フレームの動画を再生した場合、170フレームほどしかクラインアント側で受信することが出来なかった。
しかし、ACKを用いたサーバプログラムでは、今回再生した?回すべてにおいて200フレーム表示することが出来た。また、動画の再生途中に他のプログラムを使用する等して、負荷を掛けたが、その場合もそれまでより動画の再生スピードは落ちたが、エラーを出すことなく再生する事が出来た。
5.考察
 4.1節の結果より,**が**であることがわかる.これは,○○○○○○,○○○○○,○○○○,○○○○, ○○○○○○,○○○○○,○○○○,○○○○,○○○○○○,○○○○○,○○○○,○○○○, ○○○○○○,○○○○○,○○○○,○○○○,○○○○○○,○○○○○,○○○○,○○○○, ○○○○○○,○○○○○,○○○○,○○○○,○○○○○○,○○○○○,○○○○,○○○○,
[[中略]]

 また,4.4節の結果より,うんぬんかんぬん. ○○○○○○,○○○○○,○○○○,○○○○,○○○○○○,○○○○○,○○○○,○○○○, ○○○○○○,○○○○○,○○○○,○○○○,○○○○○○,○○○○○,○○○○,○○○○, ○○○○○○,○○○○○,○○○○,○○○○,○○○○○○,○○○○○,○○○○,○○○○, ○○○○○○,○○○○○,○○○○,○○○○,○○○○○○,○○○○○,○○○.
であるといえる.
[[以下略]]

hh 2008/01/15 18:38
1.目的
TCP・UDPの通信システムの理解を目的として、TCP・UDPのサーバとクライアント間の通信を用いた動画再生機能の実装を行う。

2.課題
UDPサーバと動画再生クライアントを用いて、再生動画を指定し、またサーバ側でスリープ処理を用いずに、ACKを利用した通信が可能なUDPサーバ、動画再生クライアントを作成する。

3. ソースコード
ソースコードを以下に示す.

サーバー
import java.io.*;
import java.net.*;

public class AnimUDPServer02{
public static int SIZE=123456;
public static void main(String args[]){
int port=8000;//ポートは8000
BufferedInputStream biStream;
InetAddress clientAddress;
int clientPort,kari=1000;

//送信用DatagramPacket
byte buf[] = new byte[160*120];
DatagramPacket sendPacket = new DatagramPacket(buf,buf.length);

//受信用DatagramPacket
byte req[] = new byte[32];
DatagramPacket receivePacket = new DatagramPacket(req,req.length);

try{
//ソケットの作成(Port 8000)
DatagramSocket socket = new DatagramSocket(port);
System.out.println(”Running...”);
//ACK用
DatagramSocket ack = new DatagramSocket(8008);


while(true){
socket.receive(receivePacket);
clientAddress = receivePacket.getAddress();
clientPort = receivePacket.getPort();
socket.send(receivePacket);
//ファイル名受信用テスト
byte[] namae =new byte[SIZE];
//socket.receive(receivePacket);
namae = receivePacket.getData();
int nagasa = receivePacket.getLength();
String str = new String(namae,0,nagasa);
if(str.equals(”spring.raw”)||str.equals(”shuttle.raw”))
System.out.println(str);
else
str=”spring.raw”
//ファイル名受信用テスト
//sendPacketのIPaddress, portNO, データ長設定
sendPacket.setAddress(clientAddress);
sendPacket.setPort(clientPort);
sendPacket.setLength(160*120);

biStream = new BufferedInputStream(new
FileInputStream(str));
for(int i=0;i <= 200; i++){
biStream.read(buf,0,160*120);
//kari=Integer.parseInt(args[0]);
//Thread.sleep(kari);
//ACKテスト用
System.out.println(”test1”);
byte req2[] = new byte[32];
DatagramPacket mati = new DatagramPacket(req2,req2.length);
ack.receive(mati);
req2 = mati.getData();
int karia = receivePacket.getLength();
String stri = new String(req2,0,karia);
System.out.println(stri);
System.out.println(”test3”);
//ACKテスト用
socket.send(sendPacket);
}
biStream.close();
}
//socket.close();
}
catch(Exception e){
System.out.println(”Exception3: ” + e);
}
}





クライアント
import java.io.*;
import java.net.*;
import java.awt.*;
import java.awt.event.*;
import java.awt.image.*;

class AnimUDPClient{
public static void main(String[] args){
AppFrame3 f = new AppFrame3(args[0],args[1]);
f.setSize(640,480);
f.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.out.println(”kk”);
System.exit(0);
}});
f.show();
}
}

class AppFrame3 extends Frame{
String hostname,filename;
int i;
ImageSocket imgsock;
AppFrame3(String hostname,String filename){
this.hostname = hostname;
this.filename = filename;
//74
imgsock = new ImageSocket(hostname,filename);
}
public void update(Graphics g){
paint(g);
}
public void paint(Graphics g){
if(imgsock != null){
Image img = imgsock.loadNextFrame();
//課題71
if(img != null){
g.drawImage(img,10,50,480,360,this);
i++;
System.out.println(”[”+i+”]”);
}
}//}else{
//imgsock = new ImageSocket(hostname);
//}
repaint(1);
}
}

class ImageSocket{
int port = 8000;
DatagramSocket socket;//通信用ソケット
InetAddress serverAddress;//サーバアドレス保管
byte buf[];//バッファ
DatagramPacket receivePacket;//受信データ
BufferedImage bImage;//イメージ
boolean fin = false;/**********///終了フラグ


ImageSocket(String hostname,String filename){
buf=new byte[160*120];
byte request[]=”REQUEST”.getBytes();
try{
socket = new DatagramSocket();//ソケットの作成
//送信データ用のDatagramPaketの作成
serverAddress=InetAddress.getByName(hostname);
DatagramPacket sendPacket=new DatagramPacket(request,request.length,serverAddress,port);
//受信データ用DatagramPacketの作成
receivePacket=new DatagramPacket(buf,160*120);
bImage=new BufferedImage(160,120,BufferedImage.TYPE_BYTE_GRAY);
//ファイル名送信テスト用{
String kamesan=filename;
System.out.println(kamesan);
byte[] kame = kamesan.getBytes();
DatagramPacket kameokuri= new DatagramPacket(kame,kame.length,serverAddress,port);
//ファイル名送信テスト用}
socket.setSoTimeout(300);//タイムアウトの設定(三秒)
//socket.send(sendPacket);//REQUESTの送信
socket.send(kameokuri);
socket.receive(receivePacket);//応答の受信
receivePacket.setLength(160*120);//受信可能サイズの再設定
}
catch(Exception e){
System.out.println(”Exception:”+e);
}
}

Image loadNextFrame(){
if(fin) return null;/**********/
try{
int x,y,pixel;
//ACKテスト
String ok=”OK”;
byte[] okk = ok.getBytes();
DatagramPacket ook= new DatagramPacket(okk,okk.length,serverAddress,8008);
socket.send(ook);
//ACKテスト
socket.receive(receivePacket);//画像データ受信

for(y=0;y<120;y++){
for(x=0;x<160;x++){
pixel = (int)buf[y*160+x]*2;
if(pixel < 0){
socket.close();
System.out.println(”Done.”);
fin =true; /**********/
return null;
}
pixel = new Color(pixel,pixel,pixel).getRGB();
bImage.setRGB(x,y,pixel);
}
}
}
catch(Exception e){
System.err.println(”Exception2 : ” + e);
System.exit(0);
}
return bImage;

}


ここで、授業の演習内で作成したソース以外の中で主な部分の開設を行う。
まず、サーバプログラムの25行目では、ACKを受け取るためのソケットを作成している。34〜42行目は、ファイル名をクライアントから受信したデータグラムパケットから、文字列の長さを調べた後に取得し、String形式に変換している。56〜64行では、クライアントからACKパケットを受け取るまで次の情報送信を行うプログラムに移行しないようにし、Sleepを用いず、また通信途中にサバ、クライアント間での通信に必要な時間が変化した場合でもクライアント側で一つ前に送信した画像を表示するまでパケットの送信を行わないようにしている。
次に、クライアント側のプログラムでは、74行〜77行で、コマンドライン引数で入力されたファイル名をmainメソッドから取得し、それをリクエストの代わりとしてサーバー側に送信する事により、起動時に選択した動画ファイルを再生するようにしている。95行〜98行では、クライアントがサーバーから情報を受信できるようになる直前にACKを送信する事により、クライアント側の表示処理が終了していないのに、次のフレームの動画情報を送信される事を防いでいる。


4. 実行結果
以下の条件で実験を行った.
場所:千葉工業大学津田沼校舎演習室
時間:2008/01/12 19:00
4.1 ファイル名を指定した動画再生を確認する実験
サーバ・クライアント共に、仮想計算機上で実行した。クライアントを実行する時には、再生したいファイル名をコマンドライン引数にて指定し、二種類のファイル名でそれぞれ2回動作させた。サーバー側に用意されていた動画のファイル名をコマンドライン引数として入力した場合は、すべて指定した動画を再生する事が出来た。また、サーバー側で登録していないファイル名を指定した場合、spring.rawが再生される。
これにより、クライアント側からサーバーに最初に送信し、サーバー側がクライアントのアドレスを取得するためのパケットに、ファイル名を入れ、それを変換することにより、任意のファイルを送信するサーバ・クライアントを作成することが出来るのがわかる。
4.2 ACKに関する実験
サーバ・クライアント共に、仮想計算機上で動かしてspring.rawを4回再生し、最後の1回はコンピュータに負荷をかけて再生した。結果は以下の表にあるようになった。表を見ると解かるように、演習室の環境で再生する場合、Sleep時間が40程度であれば、再生されるフレーム数と再生時間がバランス良くなる、しかし、再生する度にフレーム数が変動してしまう。また、余裕を持って sleepを100とした場合でも、再生フレーム数が変化していしまった。だが、ACKを用いたサーバ・クライアントでは、今回再生した結果では、毎回200フレーム全部を再生することができた。また、負荷を掛けた4回目についても、sleepを使用した場合、フレーム数が極端に減ったり、エラーが出て再生が途中で止まってしまったりしたが、ACKを使用した場合は、再生時間が増加したのみで、フレーム数の変化は無かった。
以上のことから、クライアントが情報を受信できるようになる直前にサーバー側にパケット送り、それをACK
と判断して、サーバー側がパケットを送信するプログラムを作るようにより、クライアント側の表示能力に依存せずに動画ファイルを送信できることがわかり、確実性が必要な動画を配信するサーバ・クライアントプログラムには有効なことがわかる。
ACK,40,100
7.77:200,8.83:168,33.44:190
6.48:200,9.44:170,28.48:188
6.67:200,9.41:171,29.84:191
8.53:200,6.09:138,エラー

うぇwwうぇっうぇwwwwwwwうぇwwうぇっうぇwwwwwww 2009/07/28 11:20
ドーユーリメンバー?私アルパカに似てるタケシねwwwwwww
んぉふーww 雑誌に載ってたのやってみたらコスプレ姫の魔法のフィラチオにハマっちゃって思考回路がフィラチオ中心になってるぉwwwwww
てか気持ちよくしてもらってんのに何で5万貰えんの? カオスwwwww

http://netoge.bolar.net/tZDKyec/

試してみたお!試してみたお! 2009/08/07 21:49
オッス!ニートの桜井だよ!いやいや毎度毎度!!!!!
ここで釣った女でコンニャクオナと生マヌコのどっちが気持ちいいか試したお!!
えとうん・・・問答無用で生マヌコの勝ちだわwwwwwwwwwww
てかハメさせてくれた女子が当たり前のように10万くれたんだけど何でー???

http://ene.creampie2.net/uODytVf/

えふwwえふwwえふwwwえふwwえふwwえふwww 2009/08/11 16:44
ケイジの奴・・ネットやっててコレ知らないって何なのwwwwww
金に困ってるみたいだから教えてやったらソッコーでヤりやがったしww
てかあいつキモデブなのに何でいきなり8 万貰えてんの???
わけわかんねぇしwwwwwww

http://kachi.strowcrue.net/zh9f8Ip/

自由だーーーー!!!!!!自由だーーーー!!!!!! 2009/08/18 15:28
セ ク っ て 稼 げ るなら旅したついでにヤる事にしたんだけど、これウメェわwww
女の家に泊まるから宿代いらないし、旅先で稼げるから財布もイラねーwwww

とりあえず女の子と約束して、家に泊めてもらって、ハ メ て、諭 吉ゲットwww
楽勝すぎてすげぇ笑えるwwwww
儲 か る旅って最高ーーーwwwwwww

http://yuzo.plusnote.net/bucbGWQ/

2006-06-08

[]

オンラインゲームパケットを優先的に流すBBルーターが出るらしい

すげーな

2006-05-31

[]

結局金・銀は各1回ずつで終了

さて、これから続けるのかどうなるのか・・・

ぶっちゃけどんどん引退していくだろうし

野良だけってのも面白く無いからな〜

夏ぐらいまでは知り合いがマビノギやるだろうから

そっち一本に絞ろうかな〜

どうしよう・・・

2006-05-26

[]なんでだぁぁぁぁぁぁ

昨日は寒冷期なのでディアクエで

ポーチ納品のみで募集を掛けて何回もやった

最初に募集した時は2/3の人が最初で出て抜けた

次に募集した時は1人の人が4連続で出たけど

スタンプ狙いだったので手伝ってくれた

オレはまだ出てないよ(涙

2006-05-22

[]さぼりすぎ

日記もMHもですね

次のイベントまで入らなくても良いのだけど

秘境七つ道具集めてリハビリぐらいはしないとな〜

次の温暖いつだか調べないと

りんりん 2006/05/22 13:05 ねぐらは繁殖ううううううううううううううう

ですYO!

ryuumaryuuma 2006/05/22 22:36 じゃあ全部の季節でいけるのか!!
明日から入る、なるべくはいる、できたらはいる
のでお手伝いお願いします

2006-05-09

[]現在は

マビノギメインでやってます

大学の友達にかなりの差をつけられたので

ちょっとの間だけ本格的にやろうと思います



グラナダもやりたいけど封印中

やっぱスペックがちょっと辛いからな〜

色々増設しないと無理かも



MHは新しいのが出たらやります

なので情報入ったら教えてください

いや、なるべく自分でも見るけど

不安なんですよ

2006-05-08

ryuuma2006-05-08

[]ブログペット

うちのペットは何もしていないので

単語をボソボソと喋るだけなんですが

この前なおぽんさんのブログに遊びに行ったら

なおぽん すき?と聞かれたので

とりあえずスルーしときましたw

そういやなおぽんさん最近MHで見ないけど

FFやってるんだろうか・・・



今回のドット絵

ドット絵しりとりで何となく作った

「恋文」でございます

恥ずかしながら私出した事無いんですよね〜

全部メール電話

直接言う根性は無いのであります



ああ、大学行きたくない

引きこもりたいけど引きこもるのも嫌い

なんか面白い本ね〜かな〜

なおぽんなおぽん 2006/05/13 19:38 スルーとは何事くぁ!w
好きって言っておきなさいww
MHはCD貸し出してて今はやれないです〜
オフゲーなんかちょこっとやったりしておりもす。

Connection: close