socketstream初版公開

プログラミング/C_C++/socketstream
それっぽく動いてるので公開します.
iostreamっぽくsocketが扱えます.

#include "socketstream.h"
#include <iostream>
#include <string>

using namespace std;

int main(int argc, char**argv)
{
    cout << "byte_order:"<<BYTE_ORDER<<endl;
    socketlistener ltn(10000);
    socketstream socks(ltn.accept());

    if(socks.fail())
    {
        cerr << "accept error" << endl;
        return 1; // error
    }

    string buf;
    int d=0;
    while(!socks.fail())
    {
        socks >> d >> buf;
        if(socks.fail())
            break;
        cout << d << ":" << buf << endl;
        cin >> buf;
        d++;
        socks << d << buf;
    }
    socks.close();
    return 0;
}

こんな感じに使えます.整数型はバイトオーダをネットワークバイトオーダに変換して送ります.

1日位で終わらせて,これを作るはずだったのに,4日もかかってしまった.
3月は残り1日.

いくつか勉強になった気がするので良い事にする.

作ってて思ったこと

filebufに手を出したせいで,えらく苦労した.
filebufを捨てたら,半日で完成・・・.アンダーバーから始まる関数とかが少し嫌いになった.
VCのlibc++のソースは難読化を計ってるに違いない.
gccは素晴らしい.

ios_base

gccってclass ios_baseどこで定義してるんだ・・・?

bits/の中にあった.なんだこれは.


お名前: