ʹÓÃselectº¯Êý¿ÉÒÔÒÔ·Ç×èÈûµÄ·½Ê½ºÍ¶à¸ösocketͨÐÅ¡£³ÌÐòÖ»ÊÇÑÝʾselectº¯ÊýµÄʹÓ㬹¦Äܷdz£¼òµ¥£¬¼´Ê¹Ä³¸öÁ¬½Ó¹Ø±ÕÒÔºóÒ²²»»áÐ޸ĵ±Ç°Á¬½ÓÊý£¬Á¬½ÓÊý´ïµ½×î´óÖµºó»áÖÕÖ¹³ÌÐò¡£
1. ³ÌÐòʹÓÃÁËÒ»¸öÊý×éfd_A£¬Í¨ÐÅ¿ªÊ¼ºó°ÑÐèҪͨÐŵĶà¸ösocketÃèÊö·û¶¼·ÅÈë´ËÊý×é¡£
2. Ê×ÏÈÉú³ÉÒ»¸ö½Ðsock_fdµÄsocketÃèÊö·û£¬ÓÃÓÚ¼àÌý¶Ë¿Ú¡£
3. ½«sock_fdºÍÊý×éfd_AÖв»Îª0µÄÃèÊö·û·ÅÈëselect½«¼ì²éµÄ¼¯ºÏfdsr¡£
4. ´¦ÀífdsrÖпÉÒÔ½ÓÊÕÊý¾ÝµÄÁ¬½Ó¡£Èç¹ûÊÇsock_fd£¬±íÃ÷ÓÐÐÂÁ¬½Ó¼ÓÈ룬½«Ð¼ÓÈëÁ¬½ÓµÄsocketÃèÊö·û·ÅÖõ½fd_A¡£
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <errno.h>
#include <string.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#define MYPORT 1234 // the port users will be connecting to
#define BACKLOG 5 // how many pending&n ......
#include <sys/types.h>
#include <sys/socket.h>
#include <netdb.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#define NTP_SERVER "clock.via.net"
#define NTP_PORT 123
//
//rfc1305 defined from 1900 so also 2208988800 (1900 - 1970 ) seconds left
//
//timeval.tv_sec + JAN_1970 = timestamp.coarse
#define JAN_1970 0x83aa7e80
//timeval.tv_usec=>timestamp.fine
#define NTPFRAC(x) (4294 * (x) + ((1981 * (x))>>11))
//timeval.tv_usec<=timestamp.fine
#define USEC(x) (((x) >> 12) - 759 * ((((x) >> 10) + 32768) >> 16))
#define Data(i) ntohl(((unsigned int *)data)[i])
#define LI 0
#define VN 3
#define MODE 3
#define STRATUM 0
#define POLL 4
#define PREC -6
struct ntptime
{
unsigned int coarse;
unsigned int fine;
};
void send_packet(int fd)
{
unsigned int data[12];
st ......
linuxϾ²Ì¬¿âǶÌ×ʹÓÃ
ǰÌáÊÇÄã»áÔÚlinuxϵ÷Óþ²Ì¬¿âºÍ¶¯Ì¬¿âºÍMakfile±à³Ì(µ±È»²»»áMakfileÖ±½ÓÔÚÖÕ¶ËÃüÁîÒ²³É)
±¾ÀýÊÇÏÈÓÉStringLen.h,StringLen.cÉú³Élibrak.a
È»ºóÀûÓÃStringLen2.h£¬StringLen2.²¢µ÷ÓÃlibrak.aÉú³Élibrak2.a
×îºóÀûÓÃStringLen3.h,StringLen3.cµ÷ÓÃlibrak2.a Éú³Élibrak3.so
--------------------------------------------------------------------------------------
#StringLen.h:
#ifndef _STRINGLEN_H__
#define _STRINGLEN_H__
int Strlen(char *pStr);
#endif
#StringLen.c:
#include<stdio.h>
#include<assert.h>
#include "StringLen.h"
int Strlen(char *pStr)
{
unsigned long ulLength;
assert(NULL != pStr);
ulLength = 0;
while(*pStr++)
{
  ......
ÈçºÎʵÏÖLinuxÓëwindowsµÄÎļþ´«Ê䣿
2007Äê05ÔÂ22ÈÕ ÐÇÆÚ¶þ 20:54
¡¡Ò»£®¸ÅÊö ¡¡¡¡
¡¡¡¡±¾ÎĽ²ÊöÁËÔÚLinuxÖ÷»úÓëwindowsÖ÷»úÖ®¼äÈçºÎ»¥´«ÎļþµÄ·½·¨¡£ÒòΪÓеÄʱºò£¬linuxÖ÷»úÖеÄһЩÎļþ¿ÉÄÜ»áÔÚwindows»·¾³ÏÂÓõ½¡£ÀýÈçÔÚlinuxÖ÷»úÖÐ×¥ÁËһЩͼƬ£¬Ïë°ÑËüÃÇ´«µ½windowsÖ÷»úÉÏÒÔ×÷ΪwordÎĵµµÄ²åͼ¡£ÓÖ»òÕß´ÓWindowsÖ÷»úÉÏÍø£¬ÏÂÔØÁËһЩlinuxµÄÈí¼þ°ü£¬Ïë´«µ½linuxÖ÷»úÖа²×°¡£ÔÚÕâЩÇé¿öÏ£¬¶¼ÐèÒªÒ»ÖÖ·½·¨À´½øÐÐÁ½ÕßÖ®¼äµÄ»¥Í¨¡£ ¡¡¡¡
¡¡¡¡±¾ÎIJÉÓÃftp·½Ê½À´´«ËÍÎļþ£¬Èí¼þ²ÉÓÃServ-U¡£ÔÚwidowsÖ÷»úϰ²×°Serv-U,ʹÆä³ÉΪftp·þÎñÆ÷£¬ÔÚlinuxÖ÷»úÏÂͨ¹ýftpÃüÁîÀ´ÉÏ´«ºÍÏÂÔØÎļþ¡£¾¹ýÊÔÑ飬¿ÉÒԺܺõÄÂú×ãÐèÇó¡£ ¡¡¡¡
¡¡¡¡¶þ£®ÊµÑé»·¾³ ¡¡¡¡
¡¡¡¡Èí¼þ»·¾³£º ¡¡¡¡
¡¡¡¡A»ú: ¡¡¡¡
¡¡¡¡²Ù×÷ϵͳ£ºwindows2000, IP: 10.18.34.115. ¡¡¡¡
¡¡¡¡B»ú£º ¡¡¡¡
¡¡¡¡²Ù×÷ϵͳ£ºLinux Red Hat 9.0, IP:10.18.34.251. ¡¡¡¡
¡¡¡¡Èý£®°²×° ¡¡¡¡
¡¡¡¡1. Serv-UµÄ°²×° ¡¡¡¡
¡¡¡¡Ö´ÐÐsetup.exe, È«²¿Ñ¡Ä¬ÈÏÑ¡Ïî¼´¿É¡£ ¡¡¡¡
×Ö´®1
¡¡¡¡2. Serv-UµÄ³£¹æÉèÖà ¡¡¡¡
¡¡¡¡ÔÚ°²×°Íê³Éºó£¬»áµ¯³öÅäÖÃÏòµ¼¶Ô»°¿ò£¬ÕâÀï°´ÒªÇóÌîÈëÏàÓ¦ÐÅÏ¢£¬¼´¿ÉÅäÖóɹ¦Ò»¸öftp·þÎñÆ÷¡£Õâ ......
Çл»µ½rootÓû§ÏÂ,
service iptables status ÓÃÓڲ鿴ÊÇ·ñÓпªÆô·À·½Ç½.
service iptables stop ÓÃÓڹرշÀ»ðǽ.
service iptables start ÓÃÓÚ´ò¿ª·À»ðǽ.
·À»ðǽµÄ¿ªÆôÓÐʱ»áÏÞÖÆÍⲿ·ÃÎÊ·þÎñÆ÷ÉϵĶ˿Úʧ°Ü. ......
LinuxϵĽø³ÌͨÐÅÊֶλù±¾ÉÏÊÇ´ÓUnixƽ̨ÉϵĽø³ÌͨÐÅÊֶμ̳жøÀ´µÄ¡£¶ø¶ÔUnix·¢Õ¹×ö³öÖØ´ó¹±Ï×µÄÁ½´óÖ÷Á¦AT&TµÄ±´¶ûʵÑéÊÒ¼°BSD£¨¼ÓÖÝ´óѧ²®¿ËÀû·ÖУµÄ²®¿ËÀûÈí¼þ·¢²¼ÖÐÐÄ£©ÔÚ½ø³Ì¼äͨÐÅ·½ÃæµÄ²àÖØµãÓÐËù²»Í¬¡£Ç°Õß¶ÔUnixÔçÆÚµÄ½ø³Ì¼äͨÐÅÊֶνøÐÐÁËϵͳµÄ¸Ä½øºÍÀ©³ä£¬ÐγÉÁË“system V IPC”£¬Í¨ÐŽø³Ì¾ÖÏÞÔÚµ¥¸ö¼ÆËã»úÄÚ£»ºóÕßÔòÌø¹ýÁ˸ÃÏÞÖÆ£¬ÐγÉÁË»ùÓÚÌ×½Ó¿Ú£¨socket£©µÄ½ø³Ì¼äͨÐÅ»úÖÆ¡£
ÆäÖУ¬×î³õUnix IPC°üÀ¨£º¹ÜµÀ¡¢FIFO¡¢Ðźţ»System V IPC°üÀ¨£ºSystem VÏûÏ¢¶ÓÁС¢System VÐźŵơ¢System V¹²ÏíÄÚ´æÇø£»Posix IPC°üÀ¨£ºPosixÏûÏ¢¶ÓÁС¢PosixÐźŵơ¢Posix¹²ÏíÄÚ´æÇø¡£ÓÐÁ½µãÐèÒª¼òµ¥ËµÃ÷һϣº1£©ÓÉÓÚUnix°æ±¾µÄ¶àÑùÐÔ£¬µç×ÓµçÆø¹¤³ÌлᣨIEEE£©¿ª·¢ÁËÒ»¸ö¶ÀÁ¢µÄUnix±ê×¼£¬Õâ¸öеÄANSI Unix±ê×¼±»³ÆÎª¼ÆËã»ú»·¾³µÄ¿ÉÒÆÖ²ÐÔ²Ù×÷ϵͳ½çÃæ£¨PSOIX£©¡£ÏÖÓд󲿷ÖUnixºÍÁ÷Ðа汾¶¼ÊÇ×ñÑPOSIX±ê×¼µÄ£¬¶øLinux´ÓÒ»¿ªÊ¼¾Í×ñÑPOSIX±ê×¼£»2£©BSD²¢²»ÊÇûÓÐÉæ×ãµ¥»úÄڵĽø³Ì¼äͨÐÅ£¨socket±¾Éí¾Í¿ÉÒÔÓÃÓÚµ¥»úÄڵĽø³Ì¼äͨÐÅ£©¡£
LinuxϽø³Ì¼äͨÐŵļ¸ÖÖÖ÷ÒªÊֶμò½é£º
1.¹Üµ ......