MasaのITC Life

夢は起業家!全てにおいて凡人だけど頑張ることだけはいっちょ前!

「プログラミング」 一覧

【C言語】サーバにマルチスレッドを実装し、マルチクライアントに対応してみた

2020/02/08   -プログラミング

サーバ側のプログラムは、 多数のクライアントに対応するため、 マルチクライアント化に する必要があります。 マルチクライアントに対応していないと、 1クライアントが サーバと通信している間は、 他のク ...

Cでスレッドの最大数を確認し、上限増やしてみた!

2020/02/07   -プログラミング

マルチスレッドプログラミングをする上で、 今回はスレッドが最大で いくつ作成できるか検証してみます。 まずは実際に確認してみましょう。 上のコードを動かしてみると、 このようになってしまいます。 スレ ...

【解決策】SO_REUSEADDRをsetsockoptにセットしているのにbind()エラーになるとき

2020/02/04   -プログラミング

setsockoptを正しく使用しているのに、 どうしてもbindエラーになってしまう。 エラーの原因は、 Already in usedみたいな感じで 前回ソケットを使用した時に 上手く閉じれていな ...

【C言語】HTTP 404 Not Foundを返すWebサーバの実装

2020/02/03   -プログラミング

簡単なWebサーバを実装してみます。 簡易的なHTTPの機能しかないので、 webサーバというよりは、 HTTPサーバと呼ぶべきでしょうか。 今回行うことは・・・ HTTPで通信してきた クライアント ...

【C言語】HTTPリクエストを送って、WebサーバからのHTTPレスポンスを取得してみた

2020/01/30   -プログラミング

HTTPのリクエストメッセージを Webサーバに送信して、 返ってきたレスポンスメッセージを 表示させていきます。 今回は試しに リクエストラインには、 "HEAD / HTTP/1.1"(メソッド  ...

【C言語】nslookupの簡易実装してみた!IPv6の取得方法(gethostbyname2)

2020/01/29   -プログラミング

nslookupを簡易実装しました。 入力されたドメイン名から IPv4とIPv6を取得します。 まずは完成形をnslookupで 叩いてみてみます。 nslookup ドメイン名で 割り振られたIP ...

【2020年版】Cygwin上でtelnet/apt-cyg/wgetインストール&使用方法

2020/01/28   -プログラミング

Cygwinでtelnetを 使う機会に遭遇しました。 というわけで早速インストール! Cygwinには標準でtelnetが 入っておりませんので、 インストールする必要があります。 telnetを入 ...

【C言語】スタックオーバーフローを体験してみる。その対策法も!?

2020/01/26   -プログラミング

「スタックオーバフローって 良く聞くけどあまり実感がない!」 という方の向けに、、、 その危険性をあえて実感してみましょう。 スタックオーバーフローですが、 よく似た言葉に、 バッファオーバーフロー ...

Cで見る実際のスタック領域の動き!rip/rsp/rbpとは?フレームポインタとは?

2020/01/25   -プログラミング

C++で実際にスタック領域が どのように変化するのかを 覗いてみます。 その前に事前知識の準備です。 ご存知の通り、 スタックはFILO構造で、 動的メモリ確保用の領域です。 プログラムにおいて、 ス ...

Cで見るメモリ領域のあれこれ!【text/data/bss/heap/stackセグメントとは?】

2020/01/19   -プログラミング

メモリ領域の勉強をしましょう。 プログラムを作るとメモリに格納されます。 ○○セッションとかセグメントと言います。 主に以下の5つあります。 text もしくは code data bss heap ...

【C言語】マルチスレッドでMutex(排他制御)をやってみた

2019/12/26   -プログラミング

前回の記事では、 マルチスレッドプログラミングを ご紹介しました。 前回のは、最後にリンク貼っておくので、 そっちを先に読むと理解しやすいかも。 今回はMutexを使うことで、 スレッド間で共有する変 ...

【マルチスレッド=浮気!?】実際にC++でプログラムしてみた。~マルチスレッドとは~

2019/12/22   -プログラミング

レイヤーが低い分野では特に、 マルチ○○○という言葉をよく聞きます。 マルチスレッド、マルチプロセス、マルチコア などなど、結構思い浮かぶかと思います。 どれも意味合いが違うのですが、 本質はどれも「 ...

Copyright© MasaのITC Life , 2021 All Rights Reserved Powered by STINGER.