[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 12/25 17:52 / Filesize : 218 KB / Number-of Response : 981
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Linuxプログラミング



1 名前:login:Penguin [2005/06/06(月) 11:19:09 ID:uXQqRJXF]
Linux のプログラミングに関する話題です

488 名前:login:Penguin mailto:sage [2008/01/11(金) 17:38:55 ID:qBjbfrrT]
Linuxは初めてだって言ってるんだから、職種は関係ないだろ。
言語とか開発環境とか具体的に書いてもらわないとわからないけど、
GetPrivateProfileString()って言ったらWindowsのAPIだけど、プログラム中からコールするのかな?
Cの関数でいえばsetenv()、getenv()があるよね。
バッチレベルでいいならexportで登録しておくとか。

489 名前:login:Penguin mailto:sage [2008/01/11(金) 17:42:30 ID:JN9du13d]
誰も職場内で方針示してやれないような仕事取ってくるなよなぁ〜w
痴呆が上だからIT業界は7Kだって言われる

490 名前:login:Penguin mailto:sage [2008/01/11(金) 18:15:42 ID:HOV5kV5N]
組み込みlinuxでファイルI/Oを使って初期設定を読込み?
設定はヘッダーに入れてしまってハードコーディングじゃだめなのか?
初期設定を読ませるためだけに小さいとは言え余分なライブラリを使える
メモリと処理能力の余裕がある?

linux以前の問題な気がするなぁ、、、


491 名前:login:Penguin mailto:sage [2008/01/11(金) 18:52:28 ID:/lhYIwjn]
書き込み fprintf
読み込み scanf
でやればいいんじゃないの?

492 名前:login:Penguin mailto:sage [2008/01/11(金) 20:02:51 ID:/lhYIwjn]
scanf->fscanf

493 名前:login:Penguin mailto:sage [2008/01/11(金) 23:11:20 ID:MrZRBUAk]
>>478
Linuxではそういう処理は起動スクリプトで行われる。 /etc/init.dの
中の他のアプリのスクリプトを参考に。

494 名前:login:Penguin mailto:sage [2008/01/12(土) 02:32:22 ID:FBfOnT6z]
cmakeでwindowsとの互換をあくまで維持したい俺

495 名前:478 mailto:sage [2008/01/12(土) 08:28:35 ID:DOVfiP6Z]
昨日はショボンでしたが、
みなさんありがとうございました。
意見を参考に試してみます。
私含め、上司がレベル低いのは入社当初から知ってます。


496 名前:login:Penguin mailto:sage [2008/01/12(土) 09:34:51 ID:xcB/bLmK]
>>495
Linux歴が浅いのでLinuxの作法を知らないのは当然だとして
それ以外の基礎知識や能力や言葉の使い方や文章の書き方は俺の数段上を行ってるなぁ
まぁ一緒にされたら迷惑だろうけど……。
最近稀に見る好印象な方だなぁと思った。




497 名前:login:Penguin mailto:sage [2008/01/12(土) 10:36:04 ID:QnvfkAhH]
inotifyを
reiserfsで使ってみた。

間違ってイベントが無限に飛んでくる
バグとかあってプロセス10万
発生させてしまってマシン群止まっちまったw

reiserfs禁止にしたほうがいいぜ

498 名前:login:Penguin mailto:sage [2008/01/12(土) 13:06:44 ID:ZIVLcoIL]
間違ったのがお前じゃないことを証明出来たら考える

499 名前:login:Penguin mailto:sage [2008/01/12(土) 14:07:31 ID:FBfOnT6z]
>>495
pointed hair bossで検索するとちょっと幸せになれるかも

500 名前:login:Penguin mailto:sage [2008/01/12(土) 14:17:16 ID:QnvfkAhH]
>>499
上司使えない云々より

pointed-haired bossをそんな風に書く奴が
このスレにいる方が恥ずかしい。もう来るなよw

501 名前:login:Penguin mailto:sage [2008/01/12(土) 14:51:08 ID:FBfOnT6z]
>>472
siduxのインストール解説してるホームページでreiserfsを入れてたから
そのまま,まねして入れてしまった。

502 名前:login:Penguin [2008/01/12(土) 20:37:07 ID:6ANyg4lC]
起動時の画面にペンギンは出てくるのに、起動メッセージが表示されないのはなぜ?
シリアルコンソールには起動メッセージが流れてるのに..
カーネルパラメータかデバイスファイルの設定が必要ですか?


503 名前:login:Penguin mailto:sage [2008/01/12(土) 22:52:36 ID:k/UIIV/1]
>>502
どのメッセージのことか分からんが、
ディストリによってはそういうもんだろ

504 名前:login:Penguin [2008/01/13(日) 03:13:19 ID:0vRtfE6z]
ちょっと質問を。「組み込みLinuxができる」って言える基準って何か皆さんありますか?

とあるデバイスにLinuxを載せてその上でアプリを走らせるという事をやったのですが、
結局はLinuxの一般的な機能(標準関数やらioctlやらopen("dev/xxx")やら)
を使ってアプリを作ったという具合で、どうも誰でもできるような表層的な事をやったような印象です。
これを組み込みLinuxと言うのは間違っている気がするのですが、

みなさんにとっては何をもって組み込みLinuxでしょう?


505 名前:login:Penguin mailto:sage [2008/01/13(日) 03:20:31 ID:YLI1I0ry]
>>504
新しい CPU で gcc すら動かないプラットフォームなら gcc を移植する.
bootprom がなければ自前で移植/製作する.
いざとなったら仮想記憶とも戦う.
足りないドライバは自前で作る.
ユーザーランドは必要最低限な物だけ拾ってきて自分で構築する.

あたりかな.


506 名前:login:Penguin mailto:sage [2008/01/13(日) 07:01:23 ID:OSM5etr9]
下ふたつはいいにしても、
 >gcc を移植する
これはないだろうさすがに。



507 名前:login:Penguin mailto:sage [2008/01/13(日) 07:09:47 ID:Hm7xBcnO]
最近だとCellか

508 名前:login:Penguin mailto:sage [2008/01/13(日) 08:19:09 ID:YLI1I0ry]
>>505
あるよ. mips core に特殊な co-processor つけた奴とか,
特殊用途に特化した processor 用のやつとか, 今まで 3回
移植した.


509 名前:login:Penguin mailto:sage [2008/01/13(日) 08:26:40 ID:YLI1I0ry]
アンカー間違えた >>506
もっとも, 専用組み込みOS用で Linux 用じゃなかったけどな...
開発は全部クロスプラットフォーム.


510 名前:login:Penguin mailto:sage [2008/01/13(日) 10:53:17 ID:ujlOgFWo]
>>508
そこまでやれなくても組み込みLinuxできると言っていいだろ

511 名前:login:Penguin mailto:sage [2008/01/13(日) 11:06:22 ID:2uIpuPRh]
そう得意になって言うことでもないな

512 名前:login:Penguin mailto:sage [2008/01/13(日) 12:45:24 ID:ZbSPxFY0]
>新しい CPU で gcc すら動かないプラットフォームなら gcc を移植する.
>bootprom がなければ自前で移植/製作する.
>いざとなったら仮想記憶とも戦う.

そもそもこの3つはLinux全く関係なくないか?
組み込みであることは確かだが。

513 名前:login:Penguin mailto:sage [2008/01/13(日) 13:11:47 ID:ujlOgFWo]
俺も今度Linux組み込みやろうと思うんだが、

普通のLinuxのドライバ開発 VS Linux組み込み
Linuxの組み込み VS 普通の組み込み

ってどう違うんだ?
組み込みじゃないLinuxのドライバは経験あるんだけど

514 名前:login:Penguin mailto:sage [2008/01/13(日) 13:25:07 ID:tHHnWE3z]
>>505が必要だということを知ってればいいじゃないか。
あとはどうやればいいのか自分でしらべればOTJになるし。

515 名前:login:Penguin mailto:sage [2008/01/13(日) 13:26:26 ID:tHHnWE3z]
すべった。OJTだ。
orz

516 名前:login:Penguin mailto:sage [2008/01/13(日) 13:38:02 ID:88CnHFva]
組み込みで適当にソース拾ってきてfbconでつまずいてますorz
画面に文字を出すにはfbconを使うと見たのだが。。
アルマジロにしとけばよかったかなぁ あれならいきなり動きそうだし



517 名前:login:Penguin mailto:sage [2008/01/13(日) 13:46:09 ID:YLI1I0ry]
>>512
> >いざとなったら仮想記憶とも戦う.
MMU とか TLB とか言われる部分のアーキテクチャに依存するので, Linux の
VM が target のアーキテクチャをカバーしきれていない場合必ず発生する.
つか, VM 使った OS なら何だってそう, NetBSD でも結構泣いた.


518 名前:login:Penguin mailto:sage [2008/01/13(日) 14:10:42 ID:88CnHFva]
MMU辺りと戦うとなるとかなりのパッチになりそうですね
趣味人には荷が重いし、プロだと開発費が厳しそう。

519 名前:login:Penguin mailto:sage [2008/01/13(日) 14:32:11 ID:YLI1I0ry]
>>518
patch の量は大したことないよ. target のアーキテクチャと
OS の VM アーキテクチャの整合をどうとるかって問題だけだから...

ただし, 双方のアーキテクチャを
***うまく噛み合わせる手法***
を考え付くまでにやたら時間がかかる.


520 名前:login:Penguin mailto:sage [2008/01/13(日) 14:57:09 ID:ujlOgFWo]
その前にCPUとOSのVMを理解する時間が必要だ

521 名前:login:Penguin mailto:sage [2008/01/15(火) 02:45:42 ID:eLLje4gP]
linuxでgccを使っています。
cを使ってます。

fork-execでお聞きします。
binは、何かのコマンドです。

if(fork()==0)
{
execl(bin,bin,"gg*.c",NULL);
}else
{
wait();
}
とする場合にexecでは
*がメタキャラとして認識されないようです。

メタキャラを有効にする方法ってありますか?

522 名前:login:Penguin mailto:sage [2008/01/15(火) 03:25:29 ID:JuJ/Jd3b]
>>521
*の展開は/bin/shの機能だからね。execveで展開される筈もなく。
system(3)やpopen(3)を使うか、自分で*をglob(3)で展開するかしないとダメやね。

523 名前:login:Penguin mailto:sage [2008/01/16(水) 01:30:06 ID:R+P7htm7]
マルチスレッドでシステムコール使うの禁止なんですよ。
スレッドセーフか、分からないよorz  (man見ました)


524 名前:login:Penguin mailto:sage [2008/01/16(水) 02:24:00 ID:84amoxWV]
>>523
システムコール禁止ってfork(2)もexecl(2)もシステムコールだと思うが
スレッドがどこに出てくるのか話が見えないんだが、
スレッドの中でfork(2)しようとしてるの?
それはまずいんでない

525 名前:523 mailto:sage [2008/01/16(水) 04:49:53 ID:R+P7htm7]
pthread_atforkと
fork-execの間に無駄な処理しない場合は、今の所OK

526 名前:login:Penguin mailto:sage [2008/01/16(水) 07:52:05 ID:XSPkVtkD]
>>525
それ嘘だろ



527 名前:login:Penguin mailto:sage [2008/01/16(水) 11:41:09 ID:D4p47idN]
あってるんじゃないの。
d.hatena.ne.jp/yupo5656/20040715/p1

ただ、
>マルチスレッドでシステムコール使うの禁止
というのは、何かまだ条件が足りていない気がする

528 名前:login:Penguin mailto:sage [2008/01/16(水) 11:50:50 ID:vAdXY+Zc]
禁止じゃないのもある

529 名前:login:Penguin mailto:sage [2008/01/17(木) 00:22:17 ID:gFqea9nd]
話割って入ってすまないが

iptablesのようにパケットフィルタを
したいのですが定義されるフィルタ情報が
1万もあります。
とてもじゃないけどまともに1つずつなめている
と終わらないので何か良い方法ないでしょうか?


530 名前:login:Penguin mailto:sage [2008/01/17(木) 00:26:04 ID:FBet0L5h]
1000に分けて10回処理する
禅問答みたいだけど効果は補償できる、まじお薦め

でも1万ルールも追加しなくても、おそらくネットマスクを使うなりなんなり
方法ありそうな気がします。

531 名前:login:Penguin mailto:sage [2008/01/17(木) 01:04:02 ID:gFqea9nd]
>>530
カーネル見ながら考えてみたけど
用は困りモノなのがサブネットマスクの値に
よる変動なので

struct mask_zone{
struct mask_zone *next;
struct mask_zone *not_null_next;
uint32_t mask;
};

とかリンクリストを用意、基本的にマスク長単位に分割
する方針ってどうかな?ハッシュも組み合わせる予定

これだけだと毎回33回舐めるからばからしいので
構造体にnot_null_nextっていうNULLじゃないリストへ
ポインタも入れて舐める回数を減らすっていうのはどうかな?




532 名前:login:Penguin mailto:sage [2008/01/17(木) 02:13:06 ID:7inzzgaQ]
>>525
read(2),write(2),open(2)はマルチスレッドでも呼べると思うんだが。。。
というかシステムコール禁止したら、スレッドで何もできない。。

533 名前:login:Penguin mailto:sage [2008/01/17(木) 07:02:23 ID:IbgArDhc]
何もできなくはないだろう。
「意味のあることは何もできない」というだけでw

534 名前:login:Penguin [2008/01/17(木) 09:54:37 ID:nrX5B3xa]
man signal見た?

535 名前:login:Penguin mailto:sage [2008/01/17(木) 13:45:36 ID:zG6yMxAP]
printfだって下位層でシステムコール呼ぶからな

536 名前:login:Penguin mailto:sage [2008/01/17(木) 16:27:11 ID:qlT5HX3f]
弱い者たちが夕暮れ、さらに弱い者を叩くんだな。



537 名前:login:Penguin mailto:sage [2008/01/17(木) 16:34:11 ID:hGbWYs9C]
その音が響き渡ればブルースは加速していくんだな。

538 名前:login:Penguin mailto:sage [2008/01/17(木) 17:04:30 ID:oO7ItHQ/]
見えないGUIがほしい

539 名前:login:Penguin mailto:sage [2008/01/17(木) 23:14:33 ID:RgCsKsuT]
見えないGNUを撃ちまくる

540 名前:login:Penguin mailto:sage [2008/01/18(金) 05:14:41 ID:12aBnOBC]
/dev/shm/と/dev/ram0の違いがわからない

mount -t tmpfs tmpfs /mnt/ramdisk
しても/dev/shmとかは使わないんだな。

541 名前:login:Penguin mailto:sage [2008/01/18(金) 22:10:28 ID:ddex+v8t]
>>540
俺も知らないが、ブロックデバイスとファイルシステムは違うんじゃない?
それとも、 shm_open(3) 読めばおわりか?

542 名前:login:Penguin mailto:sage [2008/01/20(日) 09:17:18 ID:GQI9e7dz]
プログラム版の質問スレから誘導されてきました.

while ((c = fgetc(stdin)) != EOF) {
printf("[%d]: %c\n", num++, c);
}
とかやったらいつまでだってもfgetcから抜けれないのですが
stdinでEOFをキーボードから打ち込むにはどうしたらいいですか?
ちなみにLinuxのxterm上で動作させています.

543 名前:login:Penguin mailto:sage [2008/01/20(日) 10:02:05 ID:9Tl2aHlP]
>>542
Ctrl+D

544 名前:login:Penguin mailto:sage [2008/01/20(日) 16:58:04 ID:QAkqHfcc]
>>542
Linuxプログラミング固有の話じゃないんだが
誘導する奴はレベル低いな

545 名前:login:Penguin mailto:sage [2008/01/20(日) 17:33:57 ID:3cxUYgCe]
同感

546 名前:login:Penguin mailto:sage [2008/01/20(日) 19:32:41 ID:60pqkMpi]
かといってこんなのをプ板にのさばらせておくわけにもいかないからな



547 名前:login:Penguin mailto:sage [2008/01/20(日) 19:43:59 ID:m3nXxor1]
プ板てw

548 名前:login:Penguin mailto:sage [2008/01/20(日) 20:15:53 ID:60pqkMpi]
ムだム。間違えた。

549 名前:login:Penguin mailto:sage [2008/01/20(日) 21:25:35 ID:lhDKawjW]
なんでムなん?

550 名前:login:Penguin mailto:sage [2008/01/20(日) 22:03:02 ID:O/GA+k/y]
はるか昔、ムー族とマ族の争いがあって、千年続き、
それを嘆いた神がプ大陸を二つに分けたと伝えられる。

551 名前:login:Penguin mailto:sage [2008/01/21(月) 01:51:38 ID:EPN4E+gf]
>>544
環境依存じゃないか?
UNIX なら stty(1) を見ろとなる。
で、プ^H^Hム板の質問スレなら Ctrl+Z or F6 な人もいるだろ。

552 名前:login:Penguin mailto:sage [2008/01/21(月) 21:33:07 ID:DS13UDOd]
>>549
プログラ「マ」(について語る|がダベる)板、通称マ板と区別するため

553 名前:login:Penguin [2008/01/22(火) 22:56:28 ID:3SjBwwbG]
pthreadtypes.hで定義されているpthread_attr_t構造体ですが、
2.6.9と2.6.18で見比べたところ全く違う内容になっています。
というかpthreadtypes.h自体に大幅な変更があったような。
いつのバージョンで変わったか分かる人いませんか?

554 名前:login:Penguin mailto:sage [2008/01/22(火) 23:06:29 ID:1aLYQ0Xu]
struct sk_buffをそのままユーザ空間に
ひっぱりだしたいんだけど

どうすればいいのかなぁ

555 名前:login:Penguin mailto:sage [2008/01/22(火) 23:11:26 ID:Z7iV0h+U]
>>553
ユーザアプリからは、構造体の中身を参照しちゃいかんのとちゃう?

556 名前:553 [2008/01/23(水) 00:20:47 ID:rX2IdG6k]
>>555
まじですか!?
そういうつくりになってたんすね。
pthread_attr_init()系の関数でアクセスですかね。
ありがとうございます。



557 名前:login:Penguin mailto:sage [2008/01/23(水) 02:08:02 ID:n7QxPJKv]
すまんstatを使ってファイルサイズを調べたいんだけど
if (stat(FileSt, &sb) == 1)
{
 (sb.st_size>0)
 {
  ifs_flg=1;
 }
}

ファイルが存在するか?するならサイズは?みたいにしてます。
これを1行でstat(FileSt, &sb->st_size) >0
みたいに出来ませんか?


558 名前:login:Penguin mailto:sage [2008/01/23(水) 02:08:50 ID:n7QxPJKv]
あ、ファイルは存在する前提です

559 名前:login:Penguin mailto:sage [2008/01/23(水) 04:08:18 ID:iwlYPuMF]
statなんたらって自前の関数用意すれば

560 名前:login:Penguin mailto:sage [2008/01/23(水) 11:43:41 ID:G50LtKQp]
>>557
単純にショートカットじゃダメ?
if ((stat(FileSt,&sb)==1) && (sb.st_size>0)) {
...
}

561 名前:login:Penguin mailto:sage [2008/01/24(木) 01:44:45 ID:XcZJxRmS]
>>560
それやってたんですが、うまく行かない。
あ、括弧なしだったからかな?
括弧つけてみます

562 名前:login:Penguin mailto:sage [2008/01/24(木) 09:06:49 ID:+0KdBqsj]
recvfromってタイムアウト設定はできないんですか?
データが届かなかったら永久に待ってそうです

UDPのプログラムで任意の時間返答が無かったら
さっさとrecvfromを抜けたいんですが...

563 名前:login:Penguin mailto:sage [2008/01/24(木) 09:12:54 ID:+a49+I+1]
>>562
selectを使いたくないならSO_RCVTIMEO

564 名前:login:Penguin mailto:sage [2008/01/24(木) 09:44:54 ID:+0KdBqsj]
>>663
int timeout = 5000

setsockopt(sockfd, SOL_SOCKET, SO_RCVTIMEO, (char*)&timeout, sizeof(timeout));
とやっても抜けられないです...やはりずっととまったままです


565 名前:login:Penguin mailto:sage [2008/01/24(木) 09:51:20 ID:+a49+I+1]
struct timevalとintって?同じもの?だっけ?5000秒?待ったり?

566 名前:login:Penguin mailto:sage [2008/01/24(木) 10:06:19 ID:A5lAfTzI]
>>565
struct timeval と int は別



567 名前:login:Penguin mailto:sage [2008/01/24(木) 10:17:10 ID:FNc6yZ5O]
565 は知ってて書いているようにしか見えない。

>>564
ためしてないが、その setsockopt(2) は EINVAL になってたりしないか?

568 名前:login:Penguin mailto:sage [2008/01/24(木) 10:20:13 ID:+0KdBqsj]
>>565-567
できました!

569 名前:login:Penguin mailto:sage [2008/01/24(木) 10:27:34 ID:+0KdBqsj]
おかげさまでタイムアウトは無事できました
まだ疑問があるのですが
struct timeval tm;
tm.tv_sec = 5;
setsockopt(sockfd, SOL_SOCKET, SO_RCVTIMEO, (void*)&tm, sizeof(struct timeval));

とやってもrecvfromにてあきらかに12秒近く待たされています...
あんまり厳密に守られるわけではないのでしょうか?

他のシステムコールの呼び出し等にて7秒以上かかってるとも思えないのですが

570 名前:login:Penguin mailto:sage [2008/01/24(木) 10:57:59 ID:+a49+I+1]
名前解決じゃね?

571 名前:login:Penguin mailto:sage [2008/01/24(木) 11:16:26 ID:+0KdBqsj]
>>570
ipアドレスをinet_addr直でやってます.

572 名前:login:Penguin mailto:sage [2008/01/24(木) 11:27:31 ID:Z64zlv7x]
>>571
tm.tv_usecはクリアした?


573 名前:login:Penguin mailto:sage [2008/01/24(木) 11:52:54 ID:+0KdBqsj]
>>572
なんという不注意...注意散漫になってるようです.
無事指定時間でタイムアウトさせる事ができました.ありがとうございます

574 名前:login:Penguin mailto:sage [2008/01/28(月) 19:51:08 ID:oy6mNs1o]
現在、2枚のNICを持つマシン上での開発でつまづいています。

それぞれのNICに同じネットワークのIPアドレスを振ります。
例:eth0:192.168.1.10 eth1:192.168.1.11

この状態で、普通にSOCK_DGRAMにてソケットを生成し、適当なIP
アドレスに対して送信します。
すると、どちらのNICから出すかはルーティングテーブルでどちらが
上に位置するかで決まってしまいます。

これをNICを指定して送信したいのですが、可能でしょうか?
RAWソケットを使えばできるのですが、仕様上の制限があって
使えません。

575 名前:login:Penguin mailto:sage [2008/01/29(火) 09:35:56 ID:Jv26bMRM]
>>574
bindしてから送信 はどうだろう
やったことないけど

576 名前:login:Penguin mailto:sage [2008/01/29(火) 09:52:16 ID:BgbmjeIx]
>>575
source address を指定したいわけじゃなくて、どのインタフェースから
出したいか、ということだったらそれじゃぁダメだ。

>>574 がなんでそんなことしたいか知らないけど、iptableのmangle tableで
markして、iproute2で該当するパケットだけルーティングテーブルを別けて
やるほうが自然だろう。
www.atmarkit.co.jp/fsecurity/rensai/lids12/lids01.html
もしこっちが使えないならrawソケットでやるしかないよ。



577 名前:login:Penguin [2008/01/29(火) 15:44:25 ID:Jv26bMRM]
ところで
main(){
 int a=0;
 for(;;){
  printf("%d\n",a++);
  sleep(1);
 }
}
みたいなプログラムを書いたんだけど、これを
$ ./a.out > hoge
としてもhogeに出力されない。
バッファリングされてるみたいなのでprintfの後ろに
sync()やらfsync(1)やら入れてみたけど駄目っぽい
これどうしたらいいんだっけ?

578 名前:login:Penguin mailto:sage [2008/01/29(火) 16:25:19 ID:E7XlIkuM]
fflush(stdout);

579 名前:login:Penguin mailto:sage [2008/01/29(火) 22:53:11 ID:pK88c6Qm]
いまどき\nでフラッシュしないstdoutがあるのか・・・

580 名前:login:Penguin mailto:sage [2008/01/30(水) 02:17:24 ID:VGRpnUoT]
そりゃ・・・、端末に向いてない stdout(3) なら line buffered じゃなくても
いいんでわ。

581 名前:574 mailto:sage [2008/02/01(金) 11:04:33 ID:KZ/Tojjt]
レス遅れてしまいすみません。

>>575
>>576さんの言うとおりbind()をしてから送信すると、L3レベルでは大丈夫
でしたがEtherealでキャプチャするとL2レベルで、MACアドレスが同じに
なっていました。

>>576
提示してもらったWebを確認しました。現在開発しているのはなかなか
処理能力的にシビアな箇所なので、RAWソケットを使用できるように
説得してみます。

582 名前:login:Penguin mailto:sage [2008/02/01(金) 19:24:02 ID:MPKtEvB1]
というか、bondingしてあとは知らん、ではなんかいかんの?

583 名前:574 mailto:sage [2008/02/03(日) 21:37:06 ID:mkJ6nZ+Q]
>>582

bonding、初耳だったのでぐぐってみましたが中々興味深い技術です。

ですが、仕様上送信元IPアドレス(つまり自分が持つやつ)が複数あり、かつ
対向の種類によって決まってしまっているので使えないようです。

けどこの技術に似たようなのを実装しなければならない機能ブロックも
あるのでこれはこれで提案してみようかと思います。

そういえば、RAWソケットって送信するときにPath MTU Discoveryをソケット
オプションで無効にしてもフラグメントされないなーと思ったら、man raw(7)に
バグとして挙がっているんですね…(使用OSはFedora7)
これも自分で実装しなければならないなぁ。

584 名前:login:Penguin mailto:sage [2008/02/03(日) 22:24:34 ID:+lhwKKGQ]
>>574
最初から難しいこと考えないで、まず既存の機能 (>>576 の iptable + iproute2等) で
やってみて、それでパフォーマンスなどの問題がないかどうか確認して、どうしても
独自に実装しなくてはならないことを確認してから raw ソケットなり、カーネル
モジュールで何か作るなりすることを検討するほうがいいぞ。

585 名前:login:Penguin [2008/02/04(月) 19:10:09 ID:hfVjOmBk]
自分のサブネットマスクを取得するのはどう書きますか?
IPアドレスは分かってるとして。

586 名前:login:Penguin mailto:sage [2008/02/04(月) 21:29:01 ID:nLbVhZ24]
>>585
getifaddrs(3)



587 名前:login:Penguin mailto:sage [2008/02/04(月) 21:35:32 ID:G8QRQQli]
>>586
IPv4でも使えんの?

588 名前:login:Penguin mailto:sage [2008/02/04(月) 21:56:25 ID:nLbVhZ24]
>>587
使える。v4でしか使えないバグならglibcが2.3の頃にあったはずだが。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<218KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef