/-------------------------------工具包--------------/
#pragma once
#include<stdio.h>
#include<unistd.h>
#include<string.h>
#include<stdlib.h>
#include<netinet/in.h>
#define SERVER_IP "127.0.0.1"
#define SERVER_PORT 9090
#define MAX_BUFFER_SIZE 255
#define LISTEN_QUEUE_SIZE 5
void Perror(char *str)
{
perror(str);
exit(1);
}
#include"utili.h"
int main()
{
int sockSer = socket(AF_INET, SOCK_STREAM, 0);
if(sockSer == -1)
Perror("socket");
struct sockaddr_in addrSer, addrCli;
addrSer.sin_family = AF_INET;
addrSer.sin_port = htons(SERVER_PORT);
addrSer.sin_addr.s_addr = inet_addr(SERVER_IP);
socklen_t len = sizeof(struct sockaddr);
int res = bind(sockSer, (struct sockaddr*)&addrSer, len);
if(res == -1)
Perror("bind");
res = listen(sockSer, LISTEN_QUEUE_SIZE);
if(res == -1)
Perror("listen");
int sockConn;
sockConn = accept(sockSer, (struct sockaddr*)&addrCli, &len);
if(sockConn == -1)
{
printf("Server Accept Client Connect Fail.\n");
exit(1);
}
else
{
printf("Server Accept Client Connect OK.\n");
}
char sendbuf[MAX_BUFFER_SIZE];
char recvbuf[MAX_BUFFER_SIZE];
while(1)
{
printf("Ser:>");
scanf("%s",sendbuf);
send(sockConn, sendbuf, strlen(sendbuf)+1, 0);
recv(sockConn, recvbuf, MAX_BUFFER_SIZE, 0);
printf("Cli:>%s\n",recvbuf);
}
close(sockSer);
return 0;
}
#include"utili.h"
int main()
{
int sockCli = socket(AF_INET, SOCK_STREAM, 0);
if(sockCli == -1)
Perror("socket");
struct sockaddr_in addrSer;
addrSer.sin_family = AF_INET;
addrSer.sin_port = htons(SERVER_PORT);
addrSer.sin_addr.s_addr = inet_addr(SERVER_IP);
socklen_t len = sizeof(struct sockaddr);
int res = connect(sockCli, (struct sockaddr*)&addrSer, len);
if(res == -1)
{
printf("Client Connect Server Fail.\n");
exit(1);
}
else
{
printf("Client Connect Server OK.\n");
}
char sendbuf[MAX_BUFFER_SIZE];
char recvbuf[MAX_BUFFER_SIZE];
while(1)
{
recv(sockCli, recvbuf, MAX_BUFFER_SIZE, 0);
printf("Ser:>%s\n",recvbuf);
printf("Cli:>");
scanf("%s",sendbuf);
send(sockCli, sendbuf, strlen(sendbuf)+1, 0);
}
close(sockCli);
return 0;
}