當前位置:首頁 » 編程語言 » c語言簡單通信
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言簡單通信

發布時間: 2022-02-15 19:48:47

❶ 用c語言編寫簡單的通信協議,該如何入手

請網路C語言tcp udp ftp http 應該有你想要的各協議的C函數

❷ 關於用c語言做一個簡單的客戶端通信程序

給你找了個,有說明有詳解有源代碼的
http://www.vckbase.com/document/viewdoc/?id=349

❸ 求C語言高手,實現一個簡單的TCPIP程序以實現兩台計算機之間的聊天通信,

你上面給出的代碼其實就是MSDN裡面的演示代碼,不過不完整,只演示了兩個函數的使用,我給你看看我寫的TCP通訊程序,可以在同一個區域網內的兩台不同計算機之間聊天:

這其實就是某本將網路通訊的教程裡面的例子,不過是我自己重寫了一遍,下面給你代碼:

========================

下面是公共代碼:

========================

#ifndef__CINITSOCK__H__

#define__CINITSOCK__H__

#include<winsock2.h>

#include<iphlpapi.h>

#pragmacomment(lib,"ws2_32.lib")

#pragmacomment(lib,"iphlpapi.lib")

classCInitSock

{

public:

CInitSock(intnMinorVer=2,intnMajorVer=2)

{

WSADATAwsData;

WORDwVer=MAKEWORD(nMinorVer,nMajorVer);

if(0!=WSAStartup(wVer,&wsData))exit(0);

}

~CInitSock()

{

WSACleanup();

}

};

#endif

========================

下面是客戶端的代碼:

=======================

#include"CInitSock.h"

#include<iostream>

usingnamespacestd;

CInitSockg_Sock;

voidmain()

{

SOCKETsockClient=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);

if(INVALID_SOCKET==sockClient)

return;

sockaddr_insockAddr;

sockAddr.sin_family=AF_INET;

sockAddr.sin_port=htons(4567);

sockAddr.sin_addr.S_un.S_addr=inet_addr("127.0.0.1");

if(-1==connect(sockClient,(sockaddr*)&sockAddr,sizeof(sockAddr)))

{

cout<<"connectfailed"<<endl;

return;

}

while(true)

{

charszBuf[MAX_PATH];

ZeroMemory(szBuf,sizeof(szBuf));

cout<<"YouSay:";

cin>>szBuf;

if(SOCKET_ERROR ==send(sockClient,szBuf,MAX_PATH,0))

{

cout<<"sendfailed"<<endl;

return;

}

intnRecvLen=recv(sockClient,szBuf,MAX_PATH,0);

if(nRecvLen>0)

{

//szBuf[nRecvLen]='';

cout<<"ServiceSay:"<<szBuf<<endl<<endl;

}

else

{

cout<<"recvfailed"<<endl;

return;

}

}

closesocket(sockClient);

}

======================

下面是服務端的代碼:

======================

#include"CInitSock.h"

#include<iostream>

usingnamespacestd;

CInitSockg_Sock;

voidmain()

{

SOCKETsockClient=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);

if(INVALID_SOCKET==sockClient)

return;

sockaddr_insockAddr;

sockAddr.sin_family=AF_INET;

sockAddr.sin_port=htons(4567);

sockAddr.sin_addr.S_un.S_addr=INADDR_ANY;

bind(sockClient,(sockaddr*)&sockAddr,sizeof(sockAddr));

listen(sockClient,SOMAXCONN);

charszBuf[MAX_PATH];

sockaddr_inremoteAddr;

intnLen=sizeof(sockaddr_in);

SOCKETsock=accept(sockClient,(sockaddr*)&remoteAddr,&nLen);

while(true)

{

intnRecvLen=recv(sock,szBuf,MAX_PATH,0);

if(nRecvLen>0)

{

cout<<"ClientSay:"<<szBuf<<endl<<endl;

}

ZeroMemory(szBuf,sizeof(szBuf));

cout<<"YouSay:";

cin>>szBuf;

if(SOCKET_ERROR==send(sock,szBuf,MAX_PATH,0))

{

cout<<"sendfailed"<<endl;

}

}

closesocket(sock);

closesocket(sockClient);

}

希望能夠幫到樓主。

❹ C語言製作簡單的通訊錄

主要是鏈表的操作,直接定義個結構體和指針的運用。

❺ 用c語言編寫簡單的手機通訊錄

#include "stdafx.h"
#include<iostream>
#include<fstream>
#include<iomanip>
static int n=0;
int comp(char*,char*);
class MyFriend
{
unsigned int age;
char name[12];
char TelNo[12];
public:
void getdata()
{
cout<<"(年齡 姓名 電話):";
cin>>age>>name>>TelNo;
}
void disp()
{
cout<<setiosflags(ios::left)
<<setw(6)<<age<<setw(10)<<name<<setw(7)<<TelNo<<endl;
}
char *getname()
{
return name;
}
};
void func1()
{
ofstream output("MyFrd.dat");
MyFriend s;

cout<<"輸入數據"<<endl;
cout<<"聯系人個數:";
cin>>n;
for(int i=0;i<n;i++)
{
cout<<"第"<<i+1<<"個聯系人";
s.getdata();
output.write((char *)&s,sizeof(s));
};
output.close();
}
void func2()
{
ifstream input("MyFrd.dat");
MyFriend s;
cout<<"輸入信息"<<endl;
cout<<setiosflags(ios::left)
<<setw(6)<<"年齡"<<setw(10)<<"姓名"<<setw(7)<<"電話"<<endl;
input.read((char *)&s,sizeof(s));
while(input)
{
s.disp();
input.read((char*)&s,sizeof(s));
};
input.close();
}
void func3()
{
char sname[10];
fstream file("MyFrd.dat",ios::in);
MyFriend one;
file.seekg(0);
cout<<"輸入要查詢的姓名(可只輸入姓氏):";
cin>>sname;
cout<<"輸出查詢結果:"<<endl;
cout<<setw(6)<<"年齡"<<setw(10)<<"姓名"<<setw(6)<<"電話"<<endl;
for(int i=0;i<n;i++)
{
file.read((char *)&one,sizeof(MyFriend));
if(comp(one.getname(),sname)==1)
one.disp();
}
file.close();
}
int comp(char s1[],char s2[])
{
int i=0;
while(s1[i]!='\0' && s2[i]!='\0' && s1[i]==s2[i])
i++;
if(s1[i]=='\0' || s2[i]=='\0')
return 1;
else
return 0;
}

void main()
{
int sel;
do
{
cout<<"選擇(1:輸入信息 2:輸出所有信息 3:按姓名查詢 4:退出):";
cin>>sel;
switch(sel)
{
case 1:func1();break;
case 2:func2();break;
case 3:func3();break;
}
}while(sel==1||sel==2||sel==3);
}
這個程序在我的電腦上能用 我用的是VS2008 通訊錄的程序;
你在自己機子上試試

❻ 誰能用C語言寫個最簡單socket通信服務端和客戶端示例

網路的Socket數據傳輸是一種特殊的I/O,Socket也是一種文件描述符。Socket也具有一個類似於打開文件的函數調用Socket(),該函數返回一個整型的Socket描述符,隨後的連接建立、數據傳輸等操作都是通過該Socket實現的。
下面用Socket實現一個windows下的c語言socket通信例子,這里我們客戶端傳遞一個字元串,伺服器端進行接收。
【伺服器端】
#include "stdafx.h"
#include <stdio.h>
#include <winsock2.h>
#include <winsock2.h>
#define SERVER_PORT 5208 //偵聽埠
void main()

❼ c語言怎麼做一個可以通信的軟體

確切地說很麻煩,用#top:代碼可#toe:都可以但是無法輸入和輸出文字建議用C#

❽ 如何設計實現一個簡單的通訊協議用C語言可以實現的。

用C語言肯定可以實現!要先在接收端的單片機處理設定好,就是你收到了什麼數據,要判定數據是否正確,要是正確的話,就要回復什麼數據;不正確就不響應。你可以看看485通信的例子。

❾ 關於用C語言開發一個簡單的區域網聊天軟體

可以,涉及到網路編程,windows下的不清楚 linux下的如果只實現文字傳遞 使用udp就可以。這些都有現成的函數的 比如sendto 幾十行代碼就能實現功能 ,你可以看看linux網路編程部分

❿ 親們!有誰有用C語言編寫的最簡單的串口通信的源代碼,只要實現數據的接收和發送就可以了。

你可以看下這份網路文檔,比你最低要求好上不少:
http://wenku..com/view/05f571c6d5bbfd0a7956733c.html