AB实现双方通信

使用C语言编写程序,创建两个进程A和B,模拟QQ聊天场景,实现双向通信。通过socket网络编程,服务器端涉及socket、bind、listen、accept及read/write等函数,客户端则使用socket和connect。代码编译后生成两个可执行文件,通过虚拟IP地址运行,展示进程间通信效果,完成数据的发送与接收。
摘要由CSDN通过智能技术生成

题目要求:
通过C语言编写一个程序,程序中需要有两个进程,假设这两个进程是A和B,通过这两个进程模拟一个类似QQ聊天的情景,A进程和B进程分别代表通话一方,A进程能够发消息给B进程,同时还能接收B进程发送过来的消息,同样的,B进程能发送消息给A,同时接收A进程发送来的消息。

socket网络编程有几个步骤:

服务器:
1.socket()函数
2.bind()函数
3.listen()函数
4.accept()函数
5.read(),write(),close()等一系列文件相关的函数

客户端:
1.socket()函数
2.connect()函数
3.read(),write(),close()等一系列文件相关的函数

一、服务器代码:

Server.c:
#include<stdio.h>
#include <sys/types.h>          
#include <sys/socket.h>
#include <arpa/inet.h>
#include<netinet/in.h>
#include<stdlib.h>
#include<string.h>
//头文件
int main(int argc,char **argv)
{
   
	int s_fd;
	int c_fd;
	//定义两个socket描述符,一个客户端一个服务器的
	
	char msg[128]={
   0};
	char readBuf[128]={
   0};
	//定义两个字符串数组一个用来接收另一个用来发送。
	
	struct sockaddr_in s_addr;
	struct sockaddr_in c_addr;
//定义两个sockaddr_in类型的结构体一个用于服务器一个客户端

	if(argc!=3)
	{
   
		printf("Number Error!\n");
		exit(-1);
	}//我们运行程序的时候要输入三个变量,一个运行文件,一个IP地址,还有一个端口号(他们的定义在实验三里边有提到)

	//socket
	// int socket(int domain, int type, int protocol);

	s_fd=socket(AF_INET,SOCK_STREAM,0);//第一个变量为协议  第二个为socket类型 第三个默认为0,表示自动匹配。
	if(s_fd!=-1)
	{
   
		printf("Socket Success!\n");
	}
	else
	<
  • 19
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 14
    评论
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大家好我是覃同学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值