Socket通信:Linux服务器与多个Android客户端
1. Linux Server:
#include <iostream>
#include<netinet/in.h>
#include<unistd.h>
#include<sys/types.h>
#include<sys/socket.h>
#include<string.h>
#include<arpa/inet.h>
#include <net/if.h>
#include <pthread.h>
using namespace std;
struct data {
int server_fd;
unsigned int sin_size;
};
void *acceptClient(void *param) {
data *data1 = (data *) param;
int client_fd;
int sock = data1->server_fd;
unsigned int sin_size = data1->sin_size;
sockaddr_in remoteAddr;
const int MAXSIZE = 1024;
if ((client_fd = accept(sock, (sockaddr *) (&remoteAddr), &sin_size)) == -1) {
cerr << "accept error!" << endl;
}
cout << " 已和用户建立链接 " << static_cast<char *>(inet_ntoa(remoteAddr.sin_addr)) << endl;
int count = -1;
while (count<5) {
count++;
if (1) {
cout<<"\n 等待接受消息..."<<endl;
int rval;
char buf[MAXSIZE];
if ((rval = read(client_fd, buf, MAXSIZE)) < 0) {
cout << "Reading stream error!\n";
continue;
}
cout << "用户发送的信息为:" << buf << endl;
const