Linux Socket编程实例(一个Hello World程序)
在Linux下写了个小的socket程序,分为客户端和服务器端,服务端开一个端口(20000),做为一个daemon,等待客户的连接请求。一旦有客户连接(客户端的IP和端口号是不固定的),服务器端打印出客户端的IP地址和端口,并且向客户端发送欢迎信息和时间。
下面是服务端的代码(tcpserver.c),由于这只是个简单的程序,所以只用了单线程实现!新建server.c,内容如下:
/**
* Tcp Server program, It is a simple example only.
* zhengsh 200520602061 2
* when client connect to server, send a welcome message and timestamp in server.
*/
#include <stdio.h>
#include <sys/socket.h>
#include <unistd.h>
#include <sys/types.h>
#include <netinet/in.h>
#include <stdlib.h>
#include <time.h>
#define SERVER_PORT 20000 // define the defualt connect port id
#define LENGTH_OF_LISTEN_QUEUE 10 //length of listen queue in server
#define BUFFER_SIZE 255
#define WELCOME_MESSAGE "welcome to connect the server. "
int main(int argc, char **argv)
{
int servfd,clifd;
struct sockaddr_in servaddr,cliaddr;
if ((servfd = socket(AF_INET,SOCK_STREAM,0)) < 0) //成功建立socket
{
printf("create socket error!\n");
exit(1);
}
bzero(&servaddr,sizeof(servaddr));
servaddr.sin_family = AF_INET;
servaddr.sin_port = htons(SERVER_PORT);
servaddr.sin_addr.s_addr = htons(INADDR_ANY);
if (bind(servfd,(struct sockaddr*)&servaddr,sizeof(servaddr))
相关文档:
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
USER:进程所有者。
PID:进程号。
%CPU:占用的 CPU 使用率。
%MEM:占用的内存使用率。
VSZ:占用的虚拟内存大小。
RSS:占用的内存大小。
TTY:终端的次设备号码。
STAT:该进程的状态。
......
安装openssh 服务端
sudo apt-get install openssh-server openssh-client
windows 下客户端
puTTY
常用命令:
一.Ls 查看目录命令
一般放在home 目录下
Ls –l / 根目录下的列表
Ls –a / 根目录下所有的文件
Ls –la 组合的选项
Ls –l / ......
Linux服务器虽然相对来说比Windwos服务器要稳定与安全。但是稳定安全的Linux服务器,仍然离不开合理的及时的维护工作。
一、让软件包保持最新的版本
Linux服务器的软件包也如同Windwos操作系统的补丁一样在不断的升级。Linux服务器软件的升级主要有两个目的。一是增强软件的功能,二是解决一些已知的安全漏洞。如 ......
在Linux系统中,uptime、top等命令判断一个系统的负载。load average分别记录了1、5、15分钟的系统平均负载。
load average 对 performance 的影响?
1. 如果load average/CPU数量 < 3, performance is good
2. 如果load average/CPU数量 > 5, performance is very bad
......