易截截图软件、单文件、免安装、纯绿色、仅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 Bluetooth编程 (七) SDP协议

Service Discovery Protocol(SDP)提供一种能力,让应用程序有方法发现哪种服务可用以及这种服务的特性。
服务发现协议(SDP或Bluetooth SDP)在蓝牙协议栈中对蓝牙环境中的应用程序有特殊的含意,发现哪个服务是可用的和确定这些可用服务的特征。SDP定义了bluetooth client发现可用bluetooth server服务和它们的特征的方法。 ......

linux下file 命令

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

Linux学习笔记


Linux的目录结构    etc: 配置文件,如inittab
    proc: proc文件系统,系统运行过程映射,进程映射
    设备驱动的两种方式: 直接编译进内核;以module插入
PC的Linux启动:BIOS->GRUB->KERNEL
SHELL编程
   相当于DOS的批处理,可 ......

打造Linux命令行下的“回收站”

Linux下也有回收站功能,但只在Gnome等桌面环境下面。在终端下面是用rm命令来删除文件,就是直接从硬盘上删除了。要是你一不小心删错了文件,
只能采用一些极其复杂的数据恢复工具来补救,而且还不一定有效。我就有过这样的经历,一不小心删错了文件,以致几天的工作成果立马灰飞烟灭。这样的事情发
生一次都太多了。我们 ......

Windows 下直接运行 Linux的Live CD版的方法

Windows 下直接运行 Linux的Live CD版的方法
      一个偶然的机会,我发现.Live CD 版的Linux可以借助 qume在Windows下直接运行;方法是下载linux-tr127 下载地址http://www.orsoon.com/down.asp?id=1372&downid=8

际上这个软件包是由tr127 用qume这个虚拟机制作的可在Windows下运行的虚 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号