本文简要介绍并实现一个客户端和服务器之间进行通信的程序,主要目的是为了了解建立客户端和服务器连接的过程,熟悉相应的API。
主要用到的API有如下几个,socket()、connect()、bind()、listen()、accept()。
下面附一个简单的代码实现:
首先,是客户端程序:
#include <sys/socket.h>
#include <netinet/in.h>
#include <memory.h>
#include <arpa/inet.h>
#include <unistd.h>
#include <iostream>
using namespace std;
int RunClient(int ServerPort, const char *strServerIP)
{
//根据指定的协议和套接字类型来获取客户端套接字
int ClientSocket = socket(AF_INET, SOCK_STREAM, 0);
if(-1 == ClientSocket) //-1表示获取失败,返回并输出错误原因
{
cout << "get clientsocket error" << endl;
return -1;
}
//创建链接服务器所需要的信息
sockaddr_in ServerAddress; //定义一个套接口的地址对象,其本身是一个结构体,存贮服务器的端口、协议、地址长度、ip等信息
memset(&ServerAddress, 0, sizeof(sockaddr_in)); //将该地址对象所占用的内存空间清零
ServerAddress.sin_family