❶ 用c語言或c++通過網線使電腦跟運動控制卡建立通訊怎麼編程的
網路編程,首選socket。
不太清楚你說的運動控制網卡是什麼。
如果運動網卡和PC有線連接,要用到串口通信。
❷ c語言如何檢測網路是否連接
1、如果對方斷開連接的話,那麼readNum = recv ( socketId, rcvBuf, rcvBufSize, 0 );
readNum返回值應該是0,可以根據返回值判斷。
2、recv函數返回值說明
recv函數
int recv( SOCKET s, char FAR *buf, int len, int flags);
不論是客戶還是伺服器應用程序都用recv函數從TCP連接的另一端接收數據。該函數的第一個參數指定接收端套接字描述符; 第二個參數指明一個緩沖區,該緩沖區用來存放recv函數接收到的數據; 第三個參數指明buf的長度; 第四個參數一般置0。
這里只描述同步Socket的recv函數的執行流程。當應用程序調用recv函數時,
(1)recv先等待s的發送緩沖中的數據被協議傳送完畢,如果協議在傳送s的發送緩沖中的數據時出現網路錯誤,那麼recv函數返回SOCKET_ERROR,
(2)如果s的發送緩沖中沒有數據或者數據被協議成功發送完畢後,recv先檢查套接字s的接收緩沖區,如果s接收緩沖區中沒有數據或者協議正在接收數 據,那麼recv就一直等待,直到協議把數據接收完畢。當協議把數據接收完畢,recv函數就把s的接收緩沖中的數據到buf中(注意協議接收到的數據可能大於buf的長度,所以 在這種情況下要調用幾次recv函數才能把s的接收緩沖中的數據完。recv函數僅僅是數據,真正的接收數據是協議來完成的), recv函數返回其實際的位元組數。如果recv在時出錯,那麼它返回SOCKET_ERROR;如果recv函數在等待協議接收數據時網路中斷了,那麼它返回0。 默認 socket 是阻塞的 解阻塞與非阻塞recv返回值沒有區分,都是 <0 出錯 =0 連接關閉 >0 接收到數據大小,
特別:返回值<0時並且(errno == EINTR || errno == EWOULDBLOCK || errno == EAGAIN)的情況下認為連接是正常的,繼續接收。只是阻塞模式下recv會阻塞著接收數據,非阻塞模式下如果沒有數據會返回,不會阻塞著讀,因此需要循環讀取)。
返回說明: 成功執行時,返回接收到的位元組數。另一端已關閉則返回0。失敗返回-1,errno被設為以下的某個值 EAGAIN:套接字已標記為非阻塞,而接收操作被阻塞或者接收超時 EBADF:sock不是有效的描述詞 ECONNREFUSE:遠程主機阻絕網路連接 EFAULT:內存空間訪問出錯 EINTR:操作被信號中斷 EINVAL:參數無效 ENOMEM:內存不足 ENOTCONN:與面向連接關聯的套接字尚未被連接上 ENOTSOCK:sock索引的不是套接字 當返回值是0時,為正常關閉連接;
思考:當對側沒有send,即本側的套接字s的接收緩沖區無數據,返回值是什麼(EAGAIN,原因為超時,待測)
❸ 老師給我們布置了一個作業。兩台電腦用網線連接通訊,讓我們編程序,用c語言編兩個控制台的就可以了,可
書名,Unix網路編程,是linux平台的,不過只要看懂了,移植很簡單
❹ 怎麼用c語言訪問\\192.168.1.11(我的另一台電腦,我用網線連接起來了)謝謝
使用socket編程(套接字編程),通過TCP或UDP進行通訊。網上有很多博客寫得很詳細
❺ 用C語言寫一段代碼,與192.168.1.1的tcp80埠建立連接
很早以前寫的一段示例代碼,希望對你有幫助
//windowsTCPClient
#include"winsock2.h"
voidmain(void)
{
WSADATAwsaData;
SOCKETs;
SOCKADDR_INServerAddr;
intPort=80;
//初始化WindowsSocket2.2
WSAStartup(MAKEWORD(2,2),wsaData);
//創建一個新的Socket來連接伺服器
s=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
//填寫客戶端地址信息
//埠為80
//伺服器IP地址為"192.168.1.1",注意使用inet_addr將IP地址轉換為網路格式
ServerAddr.sin_family=AF_INET;
ServerAddr.sin_port=htons(Port);
ServerAddr.sin_addr.s_addr=inet_addr("192.168.1.1");
//向伺服器發出連接請求
connect(s,(SOCKADDR*)&ServerAddr,sizeof(ServerAddr));
//新的連接建立後,就可以互相通信了,在這個簡單的例子中,我們直接關閉連接,
//並關閉監聽Socket,然後退出應用程序
closesocket(s);
//釋放WindowsSocketDLL的相關資源
WSACleanup();
}