易截截图软件、单文件、免安装、纯绿色、仅160KB

LINUX网络编程,简单的聊天程序

服务器端:
   建立socket,本地地址绑定bind,然后建立监听,如果有客户端请求则响应之,然后进行数据的发送和接收
源代码:
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <sys/time.h>
#include <string.h>
#include <fcntl.h>
#define MAXDATASIZE 100
#define SERVPORT 3333
#define BACKLOG 10//最大连接数
#define STDIN 0 //标准输入
int main(void)
{
FILE *fp;
int sockfd,client_fd;//socket.sock_fd监听,socket.new_fd数据传输
int sin_size;
struct sockaddr_in my_addr,remote_addr;//本机地址信息,客户地址信息
char buf[256]; //用于聊天的缓冲区
char buff[256];//用于输入用户名的缓冲区
char send_str[256];
int recvbytes;
fd_set rfd_set,wfd_set,efd_set;//被select监视的读,写,异常处理的文件描述符集合
struct timeval timeout;
int ret;
if((sockfd=socket(AF_INET,SOCK_STREAM,0))==-1)
{
perror("socket");
exit(1);
}
/*端填充sockaddr结构*/
bzero(&my_addr,sizeof(struct sockaddr_in));
my_addr.sin_family=AF_INET;//地址族
my_addr.sin_port=htons(SERVPORT);
inet_aton("127.0.0.1",&my_addr.sin_addr);
if(bind(sockfd,(struct sockaddr *)&my_addr,sizeof(struct sockaddr))==-1)
{
perror("bind");
exit(1);
}
if(listen(sockfd,BACKLOG)==-1)
{
perror("listen");
exit(1);
}
sin_size=sizeof(struct sockaddr_in);
if((client_fd=accept(sockfd,(struct sockaddr *)&remote_addr,&sin_size))==-1)
{
perror("accept");
exit(1);
}
fcntl(client_fd,F_SETFD,O_NONBLOCK);//服务器为非阻塞
recvbytes=recv(client_fd,buff,MAXDATASIZE,0);
buff[recvbytes]='\0';
fflush(stdout);
/*强制立即内容*/
if((fp=fopen("name.txt","a+"))==NULL)
{
printf("can not open filie,exit...\n");
return -1;
}
fprintf(fp,"%s\n",buff);
/*将用户名写入name.txt中*/
while(1)
{
FD_ZERO(&rfd_set);//读文件描述符清


相关文档:

Linux——远程桌面

远程桌面环境在很多情况下可以带来好处,对于一般的公司来说,开发人员一般都会有一台办公机同时有一台开发机,有时,开发机和办公机不在同一个地方,如果需要同时操作两台机器,那么在不同的地点之间来回走动必然带来很多的不便。可以使用telnet或ssh等字符登陆界面,这对于熟悉shell命令的开发者来说是比较省事的方法,最 ......

建立linux两用户之间的信任关系 (转载)

建立linux两用户之间的信任关系
转载自  http://www.cnblogs.com/starspace/archive/2008/10/30/1323235.html
有a和b两台机器,现要将a机器的user1用户添加到b机器的user2用户信任列表里,使a机器的user1用户可以直接ssh到b机器的user2用户
    步骤:
    1,进入a机器/home/user ......

linux下file 命令

linux下file 命令
功能说明:辨识文件类型。
语  法:file [-beLvz][-f <名称文件>][-m <魔法数字文件>...][文件或目录...]
补充说明:通过file指令,我们得以辨识该文件的类型。
参  数:
 -b  列出辨识结果时,不显示文件名称。
 -c  详细显示指令执行过程,便于排错或分析程序执行的情形。
......

linux 2.6.23时钟中断与调度分析(4)

TIMER_INITIALIZER():
1):TIMER_INITIALIZER()用来声明一个定时器,它的定义如下:
#define TIMER_INITIALIZER(_function, _expires, _data) {         \
                .function = (_fun ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号