⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 chat.cpp

📁 一个简单的局域网聊天软件,(一个很厉害的网络老师留的作业)。
💻 CPP
字号:

#include<iostream.h>
#include<winsock.h>
#include<stdio.h>
#pragma   comment(lib,"ws2_32.lib")
/////////////////////////////
void main()
{
	WSADATA wsaData;//初始化
	if(WSAStartup(MAKEWORD(2,2),&wsaData)!=0 )
	{
		printf("失败加载sock\n");
		return;   
	}
	SOCKET wang;//创建一个会话
	wang=socket(AF_INET,SOCK_DGRAM,0);
	if(wang==SOCKET_ERROR)
	{
		cout<<"发生错误\n";
	}
    else 
		cout<<"创建成功\n";
	//////////////////////////////////////
	sockaddr_in kun;
	kun.sin_family=AF_INET;
	kun.sin_port=5000;//设置端口
	kun.sin_addr.S_un.S_addr=(102<<24)|(1<<16)|(168<<8)|192;//设置IP地址

///////////////////////////////////
	char send_buf[50]="您好,我是客户端,可以通信吗?";     
	
	///////////////////////////////////////////////////////////////////////////////////////////////
	int  wSend;
	int mun=sizeof(kun);
	wSend=sendto(wang,send_buf,sizeof(send_buf),0,(struct sockaddr*)&kun,mun);//发送数据
    if(wSend==SOCKET_ERROR)
	{
		cout<<"发生错误:不能发送数据\n";
		return;
	}
	else if(wSend==0)
	     return;
	     else
			 cout<<"发送成功\n";
////////////////
	char recv_buf[50];
	int wRecv;
	memset(recv_buf,0,sizeof(recv_buf[50]));//内存空间初始化
    wRecv=recvfrom(wang,recv_buf,sizeof(recv_buf),0,(struct sockaddr*)&kun,&mun);//接收数据
    if(wRecv==SOCKET_ERROR)
	{
		cout<<"socket有错\n";
		return;
	}
	else if(wRecv==0)
		 return;
	else 
		cout<<"接受成功\n";
	cout<<recv_buf;
	
    cout<<"\n";
	cout<<"**********************************************************\n";
 
/////////////////////////////////////////////
    char kSend;
	char  wk_send[100];
	int m=sizeof(kun);
   	char recvbuf[100];
	int wangRecv;
	int G=sizeof(kun);
    memset(recvbuf,0,sizeof(recvbuf[100]));
    while(1)

	{	
	cout<<"客户端:";
    cin>>wk_send;
	
    kSend=sendto(wang,wk_send,sizeof(wk_send),0,(struct sockaddr*)&kun,m);
	 
    /*char recvbuf[100];
	int wangRecv;
	int G=sizeof(kun);
	memset(recvbuf,0,sizeof(recvbuf[100]));*/
    
	wangRecv=recvfrom(wang,recvbuf,sizeof(recvbuf),0,(struct sockaddr*)&kun,&G);
	cout<<"服务端:"<<recvbuf;
	cout<<"\n";
	}	

    
	
	closesocket(wang);
	WSACleanup();

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -