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も見ています
-
プロが教える店舗&オフィスのセキュリティ対策術
中・小規模の店舗やオフィスのセキュリティセキュリティ対策について、プロにどう対策すべきか 何を注意すべきかを教えていただきました!
-
Linuxでのスレッド間メッセージについて
C言語・C++・C#
-
【gcc・cygwin】multiple definitionエラーの解決法
C言語・C++・C#
-
シリアル通信でのread関数の戻り値
C言語・C++・C#
-
-
4
シリアル通信 大きいサイズの受信処理
C言語・C++・C#
-
5
C言語での引数の省略方法
C言語・C++・C#
-
6
ソケットのrecvの戻り値が0
C言語・C++・C#
-
7
ソケット通信内 read関数について
C言語・C++・C#
-
8
シリアルの送信完了を待つ方法
UNIX・Linux
-
9
自動パスワード入力でscpするスクリプトでエラー「Unterminated quoted string」
UNIX・Linux
-
10
C++にてtemplateで受け取った任意の型の変数が何型であるかを判定したい
C言語・C++・C#
-
11
RS232cを用いた送信プログラム
C言語・C++・C#
-
12
コマンド(例えばls)の出力結果を文字列で取得するプログラムの作成方法
C言語・C++・C#
-
13
acceptをalarmでタイムアウトさせる処理がうまくいきません
C言語・C++・C#
-
14
C言語でヘッダファイルにグローバル変数を宣言する
C言語・C++・C#
-
15
C言語 1文字入力(Enterキーなし)
C言語・C++・C#
-
16
write関数でEAGAINのエラー発生 対策方法
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
複数桁10進数の*桁目だけを抽出...
-
「指定されたキャストは有効で...
-
C言語での引数の省略方法
-
#define _CRT_SECURE_NO_WARNIN...
-
(int *)の意味
-
数字列を3桁ごとにカンマで区切...
-
比較回数と交換回数表示について
-
if と配列の組み合わせ
-
C言語で三目並べをするプログラ...
-
実数の整数部,小数部の取得
-
卒業研究でよく分からないとこ...
-
C言語で分からないところがあり...
-
C言語での奇数の和
-
アスタリスクで正方形
-
警告 W8065について。
-
入力された2つの整数の差を絶対...
-
【C++】関数ポインタの使い方
-
C言語 エラーの原因がわからな...
-
C言語
-
C言語初心者です、、、お助けく...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「指定されたキャストは有効で...
-
C言語での引数の省略方法
-
複数桁10進数の*桁目だけを抽出...
-
#define _CRT_SECURE_NO_WARNIN...
-
ラップ関数とはどんなものですか?
-
卒業研究でよく分からないとこ...
-
【C++】関数ポインタの使い方
-
実数の整数部,小数部の取得
-
std::set<int> で、ある値が何...
-
C言語 エラーの原因がわからな...
-
c言語
-
system関数がうまくいかない
-
C++でvectorにテキストファイル...
-
acceptをalarmでタイムアウトさ...
-
if と配列の組み合わせ
-
return 1L
-
「{ } で囲むだけ」は正しい?
-
(マルチスレッド)_beginthrea...
-
PowerShellがうまくいかない
-
このプログラミング誰か教えて...
おすすめ情報