

VxWorks 6.4ソケット接続について。
connectWithTimeout()でサーバへの接続ができません。戻り値が常にERROR。connect() だとうまくいくのですが、何が原因なのでしょうか?
下記にソースコードを提示します
#include "vxWorks.h"
#include "stdio.h"
#include "stdlib.h"
#include "types.h"
#include "net/mbuf.h"
#include "socket.h"
#include "net/socketvar.h"
#include "socklib.h"
#include "inetLib.h"
void tmain( void )
{
#define IP_ADDRS_SERVER "193.9.200.2"
struct timeval TimeOut;
struct sockaddr_in Srv;
static int nSock;
int ret=0;
int status=0;
do{
nSock = socket(AF_INET, SOCK_STREAM, 0);
TimeOut.tv_sec = 10L ;
TimeOut.tv_usec = 0L ;
Srv.sin_family = AF_INET ;
Srv.sin_port = htons(12000) ;
Srv.sin_addr.s_addr = inet_addr(IP_ADDRS_SERVER) ;
//↓これだとうまくいく↓
// if ( connect(nSock, (struct sockaddr *)&Srv, sizeof(Srv) ) == ERROR ) {
//↓これだとうまくいかない↓
if ( connectWithTimeout(nSock, (struct sockaddr *)&Srv, sizeof(Srv), &TimeOut ) == ERROR ) {
ret = close(nSock);
} else {
status=1;
}
}while(status==0);
}
No.1ベストアンサー
- 回答日時:
質問のVxWorks 6.4に該当するかはよく分からないのですが、以下のマニュアルにこういう文があります。
http://www.akae.cn/study/ebook/wrs/workbench/pla …
「4.9.2 API Mapping
connectWithTimeout is carried forward, but is not supported for AF_INET and AF_INET6 address families. Use select( ) to specify the timeout value for the socket descriptor.」
つまり、AF_INETでは使えない、select()で対処せよ、ということみたいですね。
参考URL:http://www.akae.cn/study/ebook/wrs/workbench/pla …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
- C言語・C++・C# バイナリファイルをコピーするのにかかる時間を測りたいのですが実行するとFatel error:gli 2 2022/11/03 01:10
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- C言語・C++・C# プログラミングの授業の課題です 1 2023/01/17 22:15
- C言語・C++・C# プログラミング c言語 4 2023/03/07 01:05
- C言語・C++・C# 並列プログラミングのπ計算について 1 2022/07/16 22:30
- C言語・C++・C# C言語のエラーについて 2 2022/07/11 13:56
- C言語・C++・C# 質問です 下記のコードを分かりやすく解説お願いします 初心者です #include ‹stdio.h 3 2022/05/26 22:03
- C言語・C++・C# C言語で再起関数とポインタを用いて文字列反転をする方法がわかりません。 4 2023/04/29 20:32
- C言語・C++・C# カードシャッフルのブログラムを使ってc言語でブラックジャックをしたい 2 2022/04/12 15:13
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
違い
-
なぜ、C++の標準ヘッダをインク...
-
VC++で
-
プログラミング言語Cとプログラ...
-
findnext();について
-
アンワインド セマンティクス
-
C++での <iostream.h>と<iostre...
-
#defineの使い方について
-
iostream インクルード時に発生...
-
ヘッダーファイルがインクルー...
-
switch文のエラーについて
-
CStringとString
-
enumの値から定義名を文字列化...
-
C++で日本語の処理がしたいです
-
mainの外に変数 vs ポインタ渡し
-
gccでコンパイル時のエラー
-
空白を含む名前のファイル等を
-
wstringの主力
-
snprintfが使用できない。
-
構造体の各メンバにfor文からア...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
なぜ、C++の標準ヘッダをインク...
-
switch文のエラーについて
-
VC++で文字列から任意の文字を...
-
構文エラーが出ているのですが...
-
gccでコンパイル時のエラー
-
空ENTERの判別
-
vectorのイテレータを大小比較...
-
JPEGやPNGが読めるLoadImage関数
-
C++で、テキストファイルを一行...
-
std::wstringのメモリリークに...
-
enumの値から定義名を文字列化...
-
CStringとString
-
#define中の#のエスケープ
-
std::map の const 修飾について
-
#include "fstream.h"
-
_tcscat がうまくいきません(V...
-
C言語のポインターで詰まっている
-
構造体配列のvectorへの変換と...
-
C++での <iostream.h>と<iostre...
-
ヘッダーファイルがインクルー...
おすすめ情報