当前位置:首页 » 编程语言 » 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