当前位置:首页 » 软件开发
开发技术指南» 文章正文
    引言: 在socket编程中调用connect函数连接一远程机器,如果该ip不存在的话,connect将在一段时间内返回-1表示失败。
 

 

 ·修改grub的显示标题    »显示摘要«
    摘要:如果由grub来引导多个系统,我们可以改变grub的配置文件,使引导的显示单词改成自己喜欢的语句.su到root, 更改/boot/grub/grub.conf文件,将文件中title后面的单词换成你喜欢的就可以了.我的如下:title red hat linux (2.4.20-8),good day, happy workingroot (hd0,5)kernel /boot/vmlinuz-......
 ·用户帐号管理    »显示摘要«
    摘要:1、用户帐号数据文件—— /etc/passwd 和 /etc/shadow)^(/7i1b:在进行用户帐号管理前,必须具备与 root 同一等级的权限帐号(也就是与 root 属于同一组的所有成员)。root 是 linux 中权限最高的帐号,它可以在系统中执行任何的设置。因此,除非必要,应该尽量避免使用 root 帐号登陆系统,最好的方式是以一般的用户帐号登陆,然后再用 su - 命令来变更管......


创建能够超时的socket连结API
在socket编程中调用connect函数连接一远程机器,如果该ip不存在的话,connect将在一段时间内返回-1表示失败.问题是有时候我们需要准确控制connect函数连接的时间,这就需要我们能够控制这个connect函数.但是,gcc给我们提供的api没有这个功能.我自己设计了一个这样的api函数--connect2,它能够在用户设置的一段时间后,连接超时退出.

      这个connect2的初步设计思想是利用多线程,创建一个独立的线程调用socket的connect函数去连接,这样这个线程就可以被杀掉.我们首先要根据用户的需求设立一个alarm,并设置好alarm到点之后的动作,那就是取消掉连接线程.如果在alarm到点之前这个线程已经返回那就返回连接成功,否则连接线程将被取消,也就说明连接在规定的时间内失败,函数返回失败.

【程序编程相关:Linux下实现多音频

      好了.设计思想比较简单.下面来看看实现. 【推荐阅读:oracle入门知识

int connect2(socket sock,struct sockaddr * addr,int timeout) 【扩展信息:http://www.myfaq.com

//函数定义

//函数实现

/**this implementation is for linux

* @version 1.0

* @author jerry hou

*/

#include

#include

#include

#include

#include

#include

#include "connect_timeout.h"

int g_sock;

pthread_t connect_thread;

void *sock_connect(void * argv);

void sock_cancel(int no);

int connect2(socket sock,struct sockaddr * addr,int timeout)

{

        int res;

        struct sigaction act;

        g_sock=sock;

        res=pthread_create(&connect_thread,null,sock_connect,(void *)addr);

        if(res!=0)


...   下一页
 ·jsp入门知识总结    »显示摘要«
    摘要:jsp入门知识总结1.传递表单参数: string name = new string(request.getparameter("name")); 2.数据库连接: ~~mysql //设置数据库的url string url = "jdbc:mysql://localhost:3306/jspsky"; try //加载驱动程序 class.fornam......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE