linuxÏÂudp·þÎñÆ÷¶ËÔ´ÂëʾÀý
#include <errno.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <stdlib.h>
#include <string.h>
#include <netinet/in.h>
#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/socket.h>
int main(int argc, char **argv)
{
printf("server ip: %s\n", argv[1]);
printf("server port: %s\n", argv[2]);
printf("\n service starting...\n\n");
int socketFd;
struct sockaddr_in svrAddr;
struct sockaddr_in localAddr;
socketFd = socket (AF_INET, SOCK_DGRAM, 0);
if ( -1 == socketFd )
{
perror( "socket:" );
exit(-1);
}
// ÉèÖõØÖ·¿É¸´ÓÃ
int option = 1;
setsockopt( socketFd, SOL_SOCKET, SO_REUSEADDR, &option, sizeof(option) );
// ¿Í»§¶ËIP
memset(&localAddr, 0, sizeof(localAddr));
localAddr.sin_family = AF_INET;
localAddr.sin_addr.s_addr = inet_addr( argv[1]);
localAddr.sin_port = htons (atoi(argv[2]));
int bindResult = bind(socketFd, (struct sockaddr *) &localAddr, sizeof(localAddr));
if ( -1 == bindResult )
{
perror( "bind:" );
close(socketFd);
exit(-1);
}
// ·þÎñÆ÷IP
memset(&svrAddr, 0, sizeof(svrAddr));
svrAddr.sin_family = AF_INET;
svrAddr.sin_addr.s_addr = inet_addr( argv[1]);
svrAddr.sin_port = htons (atoi(argv[2]));
char tempBuff[2048] = {0};
for ( ; ; )
{
// ½ÓÊÕÊý¾Ý
struct sockaddr_in fromAddr;
memset((char *)&fromAddr, 0, (int)sizeof(fromAddr));
socklen_t fromLen = sizeof(fromAddr);
ssize_t result = recvfrom( socketFd, tempBuff, sizeof(tempBuff), 0, (struct sockaddr *)&fromAddr, &fromLen);
if ( -1 == result )
{
perror("recvfrom:");
continue;
}
else
{
printf( "recv data %s successed. data len
Ïà¹ØÎĵµ£º
ÉÌÒµÖÇÄܹ¤¾ßÊÇ´Ó²»Í¬ÀàÐ͵ÄÊý¾ÝÔ´ÖÐÍÚ¾òÊý¾Ý£¬ÓÃÀ´Éè¼ÆºÍ²úÉú±¨±í¡£ÉÌÒµÖÇÄÜÈí¼þÀàÐÍÒ²ºÜ¶à£¬°üÀ¨±¨±íºÍ²éѯÈí¼þ£¬Êý×ÖÒDZíÅÌ£¬´¦ÀíºÍÊý¾ÝÍÚ¾ò£¬¾Óª¼¨Ð§
¹ÜÀíÒÔ¼°µç×ÓÊý¾Ý±íµÈ¡£Ò»°ãÒ»¸öÉÌÒµÖÇÄÜÆ½Ì¨°üÀ¨Èý¸ö²ãÃæ£ºÊý¾Ý²ã£¬ÉÌÒµÖÇÄܲ㣬·ÖÎö/¼¨Ð§¹ÜÀí²ã¡£±¾ÎĽ«½éÉÜ8¸ö×îºÃµÄLinuxƽ̨ÏÂÉÌÒµÖÇÄÜÈí¼þ£º
Pentaho£ºÌṩÆó ......
¹«Ë¾ÓÐ̨ÔËÐÐCentOS5.3µÄµçÄÔ½ñÔçÆô¶¯µÄʱºòÒ»Ö±Ìáʾ#repair filesystem 1ϵͳÎļþË𻵣¬ÐèÒªÐÞ¸´£¬È»¶øÊ¹ÓÃfsckÐÞ¸´Á˰ëÌ컹ÊÇÎÞ·¨½øÈëXWindow¡£ÕâʱÎÒÐèÒªÓÃÓÅÅÌ¿½±´ÀïÃæ¼¸¸öÎļþ£¬Ë÷ÐÔµ½ÃüÁîÐÐshellÖп½±´µÃÁË¡£¿ÉÊǽøÈ¥mountÉ豸µÄʱºòÈ´ÌáʾÎÒ£ºÏµÍ³ÎļþĿ¼ֻ¶Á£¬ÎÞ·¨´´½¨¹Ò½ÓÉ豸Îļþ......Ôõô° ......
²ÉÓÃglimpse¿ÉÒÔ¶ÔÔ´´úÂë½øÐÐË÷Òý£¬ÕâÑùÔÚ·±ÔӵĴúÂëÀïÃæ£¬¿ÉÒԺܿìµÄÕÒµ½¹Ø¼ü×Ö¡£
Õâ¸ö¹¤¾ß¾ÍÊÇglimpse¡£Ê¹Ó÷½·¨¾Í²»¶à˵ÁË¡£¿ÉÒÔ²égoogleÂ ^__^
²ÉÓÃteeÃüÁî¿ÉÒÔ½«glimpse²éÕÒ³öÀ´µÄÐÅϢת´æÎªÎļþ¡£
¾ÍÊÇÕâÑù£º
glimpse CONFIG_BOOTDELAY | tee bootdelay.txt
ÕâÑù¾Í²é³öÁËËùÓÐCONFI ......
linux shell pwd ÏÔʾµ±Ç°Â·¾¶
¼ÙÈôÓÐtest.cpp
g++ test.cpp -o test
./test
ÏëÔÚtestÖÐÕÒµ½µ±Ç°Ö´ÐгÌÐòËùÔڵķ¾¶
¿ÉÒÔÔÙtest.cppÖÐʹÓÃreadlinkº¯Êý
¾ßÌå¼ûÈçÏÂʵÀý£º
#include<iostream>
#include<unistd.h>
#include<dirent.h>
#include<string.h>
#include<string>
using ......