
No.2
- 回答日時:
TCP のソケット(fd)に対して、以下の関数を呼べば OK です。
inlcude の指定と、エラー処理は適当に書いてください。このコードは Linux で動作確認済みです。void set_tcp_nodelay( int fd ) {
struct protoent *protoent;
int tmp;
if( ( protoent = getprotobyname ("tcp") ) == NULL ) return;
tmp = 1;
(void) setsockopt( fd,
protoent->p_proto,
TCP_NODELAY,
(char*) &tmp,
sizeof(int) );
}
No.1
- 回答日時:
tcpの例文は手間がかかるので、ttyの例を書きます。
-- 8< -- 8< -- 8< -- 8< -- 8< -- 8< -- 8< -- 8< -- 8< -- 8< --
#include <stdio.h>
#include <errno.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
#include <fcntl.h>
int main(void)
{
char buf[BUFSIZ];
int fd, n;
fd = open("/dev/tty", O_NONBLOCK);
while (1) {
sleep(1);
n = read(fd, buf, BUFSIZ);
if (n < 0) {
if (errno == EAGAIN) {
fprintf(stderr, "No input\n");
continue;
}
else {
perror("I/O error");
return errno;
}
}
else {
buf[n] = 0;
printf("read = %s", buf);
}
}
return 0;
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Windows 8 iOS や Winows で使われているAccountの考え方がいまいち分かりません。これはLinu 2 2022/04/28 22:05
- 英語 to date 2 2023/05/23 23:22
- 英語 The more books you read, the more you’ll know. この文 2 2022/04/16 14:06
- CGI 古ーくからフリーのtree.cgi掲示板を利用させてもらって来ましたが、最新でなにか復活できないか? 2 2023/04/07 10:43
- C言語・C++・C# C++のcase文の書き方 4 2023/02/24 20:50
- 高校 英作文 今度のテストの英作文で、英語が苦手なので手伝って欲しいです。 下のような文を書きたいのですが 1 2022/11/20 17:28
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- 英語 英文和訳の正解を教えてください。 1 2023/05/11 12:38
- TOEFL・TOEIC・英語検定 熟語で、may がmight になるのはどういう時ですか? 3 2022/06/20 14:41
- TOEFL・TOEIC・英語検定 enough to構文にforが入る場合 1 2022/10/02 17:02
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
複数桁10進数の*桁目だけを抽出...
-
「指定されたキャストは有効で...
-
【C++】関数ポインタの使い方
-
C言語での引数の省略方法
-
構造体の勉強中です 合計点の高...
-
#define _CRT_SECURE_NO_WARNIN...
-
(int *)の意味
-
実数の整数部,小数部の取得
-
入力された数字を大きい順に並...
-
Listの<Label>と<PictureBox>
-
int型の変数値をバイト列として...
-
fprintfでの文字化け
-
C言語でDxlibを使って3x3の奇数...
-
比較回数と交換回数表示について
-
C言語について教えてください。
-
ファイルから読みこむ方法
-
C言語初心者です、、、お助けく...
-
配列変数のポインターが勝手に...
-
ポインタによる関数への配列渡し
-
C言語、行列の積を求めるプログ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「指定されたキャストは有効で...
-
C言語での引数の省略方法
-
複数桁10進数の*桁目だけを抽出...
-
C言語 エラーの原因がわからな...
-
#define _CRT_SECURE_NO_WARNIN...
-
ラップ関数とはどんなものですか?
-
【C++】関数ポインタの使い方
-
実数の整数部,小数部の取得
-
int型の変数値をバイト列として...
-
std::set<int> で、ある値が何...
-
PowerShellがうまくいかない
-
(int *)の意味
-
CStringの配列要素を関数で受け...
-
ColorをRGBで指定する方法
-
「{ } で囲むだけ」は正しい?
-
acceptをalarmでタイムアウトさ...
-
if と配列の組み合わせ
-
read関数をノンブロッキングで...
-
(マルチスレッド)_beginthrea...
-
int16_t の _t は何?
おすすめ情報