C言語でチャットを作りたい
■ このスレッドは過去ログ倉庫に格納されています
0001ブランカー
2007/03/24(土) 18:22:57仕様は下記のような感じで。
■サーバ
・クライアントからの接続を受け付ける。ただし、接続するクライアント数には制限がない構成とする。(mallocを使用)
・クライアントからメッセージ送信者の"名前"とメッセージを受信する。
・受信したデータは送信された以外のクライアントに対して送信する。
・全クライアントとのコネクションが切断されたらプログラムを終了する。
ただし、一度もクライアントとの接続が行われていない場合は終了してはならない。
■クライアント
・サーバに接続した後、受信モードに移行する。
・受信モードでは、サーバから受信した"名前"及びメッセージを標準出力に出力する。
・受信モードにおいて、1秒間にデータを受信しなければ、入力モードに移行する。
・入力モードでは、標準入力からのメッセージ入力を待ち、入力されたメッセージは"名前"と共にサーバに送信する。
・サーバへの送信後は受信モードに移行する。
・入力モードにおいて、空うちを行った場合、そのメッセージは送信せずデータ受信を待つ。
・入力モードにおいて、"!q"が入力されるとそのメッセージは送信せずにプログラムを終了する。
0002ブランカー
2007/03/24(土) 18:24:10■送受信するデータ構成
struct x {
int 全体長
int "名前"長
int メッセージ長
char リザーブ(4byte)
char データ域("名前"とメッセージ)
}
・上記の"名前"やメセージの最後にNULLは含まない
・名前の最大長は16byte
・メッセージの最大長は256byte
・すなわち、データ域の最大は272byteとなる。
■その他
・ソケット関数を使用のこと。
・全てのデータが一回の送受信用関数の呼び出しで送受信できないことがあることを考慮する。
・最低限、ソケット関数のエラーだけはチェックする。
・日本語は入力できなくていい
どなたかご教授お願いします<(_ _)>
0003デフォルトの名無しさん
2007/03/24(土) 18:33:290006デフォルトの名無しさん
2007/03/24(土) 18:42:46おわり
0007デフォルトの名無しさん
2007/03/24(土) 18:43:03しかるべきスレで質問するほうが、答えやヒントをもらえる可能性が大きいのはわかりますよね?
0008デフォルトの名無しさん
2007/03/24(土) 18:51:060009ブランカー
2007/03/24(土) 18:52:15早く解決したいからです。
それに、この質問は他の人にとっても大変有益だと思います。
0010デフォルトの名無しさん
2007/03/24(土) 18:56:12この板で、単発質問スレが問題解決に至ったことなど無いですよ。
早く解決したいのであれば、このスレの削除依頼をして改めて適切なスレにて
質問をするとよいでしょう。
0011デフォルトの名無しさん
2007/03/24(土) 19:00:04そもそも2chはそれぞれの板のテーマの話をするところであって、
質問するのがメインじゃない。 でも、「2chの人たちなら、この問題
解決してくれるかもしれない」 と思ってここを訪れた人のために、
「善意で」 【 質問専用スレ 】 を用意している。 なのに「質問スレだと
解答が遅い」「単発スレのほうがレスが早く付く」 などのふざけた
理由で単発スレを立てるやつがいる。 もし、単発スレに解答して
いたとしたら、 勘違い房が 「やっぱ単発スレのほうがすばやく
解答もらえるじゃないか」 と感じて1日10個も20個も同じ内容の
質問スレがたってしまい、 (当然5分前に同じ内容の単発スレが
立っていたとしても見つけられないだろう。 そもそもこういうアフォは
過去ログみないし) そのうち全部のスレが意味のない質問スレで
埋め尽くされてしまうだろう。 そうなればパート○とか続いている
名スレすらもどんどんDAT落ちしてしまうだろう。 ということぐらい
5秒考えればわかりそうなもんだろ。 単発スレがこれほどまでに
嫌われる理由は『スレ主』>>1が該当するわけだが
>>1は質問の回答が得られたら さようなら
で終わりになる じゃ その後のスレの行方はどうなるんだ? という
こと 責任持って1000まで面倒見るほどに話題があるのか そのまま
ほったらかしスレになり 他人から見たら またゴミが増えるだけになる
実に自分勝手きわまりない 迷惑なだけなのである であるから回答が
カンタンでも 誰も答えてくれないのである さらに質問に答えてしまうと
またアホが増える結果となる ケチなのではない その前にスレを立てる
前に よく考えて よく過去ログを見て スレを立てよう
そしてこのスレは削除依頼に出して来い
0012デフォルトの名無しさん
2007/03/24(土) 19:19:45宿題なら宿題スレへ。
ホビープログラマなら自分で調べて解決。
2ちゃんで聞くにしても質問スレで。不明な部分だけをピンポイントで。細かい仕様は要らん。
仕事なら金はいくら出す?
0013デフォルトの名無しさん
2007/03/24(土) 22:03:48削除依頼だしてこいよカス
0014デフォルトの名無しさん
2007/03/24(土) 22:18:340015デフォルトの名無しさん
2007/03/25(日) 13:32:11↓
→ >>1 ←
↑
本格的春到来厨房晒上
0016デフォルトの名無しさん
2007/03/25(日) 13:38:10お前の思い通りに世の中動かねぇんだよ糞厨房
0017デフォルトの名無しさん
2007/03/25(日) 13:41:13作ったら晒せ。
それが2ちゃんねるの使い方ってもんだろ。
0018デフォルトの名無しさん
2007/03/25(日) 15:07:49まずはそこからだ。
それが終わったら流れ図を組め。
0019デフォルトの名無しさん
2007/03/25(日) 15:58:160020デフォルトの名無しさん
2007/03/25(日) 17:09:35一筋の流れ図
0021デフォルトの名無しさん
2007/03/25(日) 17:12:31フローチャート
0022デフォルトの名無しさん
2007/03/26(月) 15:37:56accept
listen
bind
read
write
close
0023デフォルトの名無しさん
2007/03/26(月) 17:26:340024デフォルトの名無しさん
2007/03/26(月) 17:56:100025デフォルトの名無しさん
2007/03/26(月) 18:03:010026デフォルトの名無しさん
2007/03/26(月) 22:16:490027デフォルトの名無しさん
2007/03/27(火) 08:38:490028デフォルトの名無しさん
2007/03/27(火) 10:02:30echo '接続先ホスト名を入力してください。'
read h
echo '接続先ユーザ名を入力してください。'
echo u
talk "$u@$h"
0029デフォルトの名無しさん
2007/03/27(火) 10:03:23まあいいや。
0030デフォルトの名無しさん
2007/03/27(火) 11:39:370031デフォルトの名無しさん
2007/03/29(木) 00:41:17一度二次元の世界に入っちゃうと、三次元なんて面倒くさくて
http://2chart.fc2web.com/2chart/tanosiibarentain.html
クリスマスも充実してるよ
http://2chart.fc2web.com/2chart/tanosiikurisumsu.html
よくもてないから、リアルで女に相手にされないから
二次元に逃げると考えている人がいるが、あれは大きな間違え
三次元より、二次元の方が居心地がいいし
三次元の女より、二次元の女の方が面倒くさくない
三次元とのSEXなんて動物でもできる、猿でも犬でもやってる
しかし、二次元の絵に萌えるなんてのは高度な脳を持った人間にしか出来ないことですよ。
二次元に対応できず、三次元に逃げるヤツは適応障害を起こした人間だよ、Schizophreniaか、想像力の劣った人間だね。
日本人ってのは素晴らしい文化を持っているんだよね。
ロリコン小説が文学扱いされたり、春画ってのもある。もともと文化の高い国だよね。江戸時代の人すら二次元に萌えてたのに
この平成の世になってもSEXなんて動物的なことやってるなんて
信じられませんよ。
なんでそんなに二次元を嫌うんだろう、幼い頃に嫌なことでもあったのかな?恐れることは無いよ、思い切って二次元の世界に飛び込んできてごらん。
三次元の女は数年経つとすぐに劣化、オバサン化しちゃうけど
二次元の女は若いまんま、三次元みたいに化粧しなくてもいいしね。
何か高い買い物をねだられる事も無いし、旅行や食事に連れて行かなくても何も文句は言わない。その上にメイド服やらスチュワーデスやらコスプレしてくれて、アナルからパイズリまでどんなプレイも拒まずにしてくれる。
絵の上手いやつは、自給自足で萌えられるし。絵師に頼めばすぐに理想の女性のできあがり。他の男に取られちゃう事も無いしね。
三次元に固執してるやつは。所詮は旧人類だよ
萌えるって事を感じられない遅れた人間なんだろうね。
0032デフォルトの名無しさん
2007/03/30(金) 08:22:24#include <string.h>
void main {
char a[20];
char b[]="このスレ";
char c[]="の";
char d[]="需要";
char e[]="は";
char f[]="無し";
strcat(a, b);
strcat(a, c);
strcat(a, d);
strcat(a, e);
strcat(a, f);
printf("%s\n", a);
}
0033デフォルトの名無しさん
2007/03/30(金) 10:34:35初期化されていない配列を参照しています。
配列をオーバフローします。
結論:コンパイルする価値もありません。
0034デフォルトの名無しさん
2007/03/30(金) 23:42:23ありがとうございます。
参考になりました。
0035デフォルトの名無しさん
2007/04/27(金) 11:51:57俺はむかーしソケットと共有メモリとセマフォとメッセージを
使って作ったことあるよ。
まあしかし UNIX 系 OS なら普通にユーザを追加してしまって
そのユーザのログインシェルをチャットプログラムに置き換える
という方式にした方が楽だと思うよ。そうするとログイン
プロンプト出してログインする所や端末入出力の初期化は
getty とかの端末接続を待っているプログラムが最初に
やってくれて自分では何もする必要がないから。で、外部から
ログインする時は telnet でする。暗号化したければ ssh
使えば良い。
0036デフォルトの名無しさん
2007/06/24(日) 08:00:13学校の宿題でsshでセキュリティも考慮した
プログラムを作れなんて課題が出るわけ無いだろボケ
よく考えてレスしろよ,爺が
0037デフォルトの名無しさん
2007/06/24(日) 08:16:332ヶ月も経ってからぼけられても困る。
■ このスレッドは過去ログ倉庫に格納されています