一 该系统可实现简单的聊天功能
本系统所涉及到的知识与技术
1、了解Linux操作系统,熟悉基本指令的使用。
2、熟悉Linux开发环境,熟练使用vim, gcc/g++, gdb, make/makefile 等开发工具的使用,学会编写基本的Makefile文件。
3、了解网络, 熟悉数据封包,路由过程。了解协议分层。熟悉udp协议。了解tcp可靠性和udp协议特点。
4、熟悉网络套接字编程。
5、熟悉多线程编程。
二:server端(源码及基本注释分析)
用c语言实现,将服务器部署到云服务器上(可实现跨主机,跨网段通信)
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<pthread.h>
#include<arpa/inet.h>
#include<netinet/in.h>
typedef struct Arg{
int newsock1;
struct sockaddr_in client1;
int newsock2;
struct sockaddr_in client2;
}Arg;
void* ThreadEntry(void*arg1){
Arg* arg=(Arg*)arg1;
while(1){
char buf[1024]={0};
ssize_t size=read(arg->newsock1,buf,sizeof(buf)-1);
if(size<0){
perror("read");
return NULL;
}
if(size