📄 chat.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 + -