sockclint.cpp

来自「网上找到的linux下socket聊天源码」· C++ 代码 · 共 83 行

CPP
83
字号
/******************************************
** 文件名称:sockclint.cpp               **
** 功    能:Linux下客户端程序           **
** 作    者:唐天明                      **
** 日    期:2008-11-17                  **
******************************************/

#include <iostream>
#include <cstring>
using namespace std;
#include <arpa/inet.h>
#include <netinet/in.h>    // for sockaddr_in
#include <sys/types.h>    // for socket
#include <sys/socket.h>    // for socket




const int serverport = 4444;
const int maxdata = 100;
const char * serv_ip = "60.12.107.181";

int main()
{
	int iclintsock;
	
	int sendflag , recvflag;

	char buf[maxdata];
	struct sockaddr_in serveraddr;
	if ((iclintsock = socket(AF_INET,SOCK_STREAM,0))==-1)
	{
		cout <<"客户端创建socket失败!!" <<endl;
		exit(1);
	}
	else
	{
		cout <<"客户端创建socket成功!!" <<endl;
	}

	serveraddr.sin_family = AF_INET;
	serveraddr.sin_port = htons(serverport);
	serveraddr.sin_addr.s_addr = inet_addr(serv_ip);
	bzero(&(serveraddr.sin_zero),8);
	if (connect(iclintsock,(struct sockaddr*) &serveraddr,sizeof(struct sockaddr))==-1)
	{
		cout <<"连接服务器失败!!" <<endl;
		exit(1);
	}
	else
	{
		cout <<"连接服务器成功!!" <<endl;
	}
	
	//发送消息
	sendflag = send(iclintsock,"clint--->server",100,0);
	if (sendflag==-1)
	{
		cout <<"客户端发送失败!" <<endl;
//		WSACleanup();
		exit(1);
	}
	else
	{
		cout <<"客户端发送成功!!" <<endl;
	}


	//接收信息
	recvflag = recv(iclintsock,buf,maxdata,0);
	if (recvflag==-1)
	{
		cout <<"客户端接受失败!!" <<endl; 
//		WSACleanup();
		exit(1);
	}
	else
	{
		cout <<"客户端接收成功,内容:"<<buf <<endl;
	}

	return 0;
}

⌨️ 快捷键说明

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