Ò׽ؽØͼÈí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

ÀûÓÃsocket±àдwindowsºÍlinuxͨѶ³ÌÐò

ÀûÓÃsocket±àдwindowsºÍlinuxͨѶ³ÌÐò
    socket±à³Ì´ó¼Ò¶¼ºÜÊìϤ£¬ÎÒÔÚÕâÀï¾Í²»ÔÙÂÞàÂÁË¡£Ö±½ÓÇÐÈëÕýÌâ¡£¸Ã³ÌÐò·ÖÁ½²¿·Ö£¬server¶ËºÍclient¶Ë£¨Ë­¶¼ÖªµÀ£©¡£ÆäÖÐserver¶Ë²ÉÓÃwindowsƽ̨£¬ÄÇlinuxƽ̨µ±È»ÊÇclient¶ËÁË¡£
ÕâÀïÊÇserver¶Ë³ÌÐò£º
/**********************************/
/* it worked as server under windows platform */
/* written by mlsx 1998-2-7                     */
/************************************/
include <windows.h>
#include <stdio.h>
#pragma comment (lib,"WS2_32.lib")
#define USERPORT 10001
#define HOST_IP_ADDR "127.0.0.1"
main(int argc,char *argv[])
{
char buf[128];
SOCKET s,ns;
struct sockaddr_in client;
struct sockaddr_in server;
int namelen,pklen;
int status;
WSADATA wsd;
if((status=WSAStartup(MAKEWORD(2,2),&wsd))!=0)
{
  perror("wsastartup() failed:");
   exit(1);
}
if((s=socket(AF_INET,SOCK_STREAM,0))< 0)
{
  perror("socket failed :");
  exit(1);
}
ZeroMemory(&server,sizeof(server));
server.sin_family=AF_INET;
server.sin_port=htons(USERPORT);
server.sin_addr.s_addr=htons(INADDR_ANY);
if(bind(s,(struct sockaddr *)&server,sizeof(server))<0)
{
  perror("bind() failed:");
  exit(2);
}
if(listen(s,4)!=0)
{
  perror("listen()failed :");
  exit(3);
}
while(1)
{
namelen=sizeof(client);
if((ns=accept(s,(struct sockaddr*)&client,&namelen))==-1)
{
  perror("accept()failed:");
  exit(4);
}
printf("accept successful");
for(;;)
{
  if((pklen=recv(ns,buf,128,0))<0)
  {
   perror("recv() failed:");
   exit(5);
  }
  else
   if(pklen==0)
   {
    printf("recv():return FAILED,connected is shut down");
    


Ïà¹ØÎĵµ£º

linux sock_rawԭʼÌ×½Ó×Ö±à³Ì

sock_rawԭʼÌ×½Ó×Ö±à³Ì¿ÉÒÔ½ÓÊÕµ½±¾»úÍø¿¨ÉϵÄÊý¾ÝÖ¡»òÕßÊý¾Ý°ü,¶ÔÓë¼àÌýÍøÂçµÄÁ÷Á¿ºÍ·ÖÎöÊǺÜÓÐ×÷ÓõÄ.Ò»¹²¿ÉÒÔÓÐ3ÖÖ·½Ê½´´½¨ÕâÖÖsocket
 
1.socket(AF_INET, SOCK_RAW, IPPROTO_TCP|IPPROTO_UDP|IPPROTO_ICMP)·¢ËͽÓÊÕipÊý¾Ý°ü
2.socket(PF_PACKET, SOCK_RAW, htons(ETH_P_IP|ETH_P_ARP|ETH_P_ALL))·¢ËͽÓÊÕÒÔÌ« ......

ËÄÖÖÖ÷ÒªLinux°æ±¾Ö®¼äµÄ±È½Ï

±¾ÎÄÎÒ½«±È½ÏËÄÖÖÖ÷ÒªµÄLinux°æ±¾—— Debian£¬Mandrake£¬Red Hat£¬ºÍSuSE—²¢ÌÖÂÛÈçºÎÖƶ©Ñ¡ÔñÊʺÏÌض¨ÉÌÒµ»·¾³Linux°æ±¾µÄ±ê×¼¡£
  ÎÒÃǺÜÄÑ´Ó´óÁ¿Linux°æ±¾ÖÐÑ¡ÔñÒ»¿îÕýºÃÊʺÏij¸öÌض¨»·¾³µÄ°æ±¾¡£Ã¿ Ò»¸ö°æ±¾¶¼ÓÐ×Ô¼ºµÄ²àÖص㣬ÓÐÒ»Ì××Ô¼ºµÄÎļþ£¬°²×°·½Ê½ºÍ×Ô¼ºµÄ
LinuxÄں˰汾¡£±¾ÎÄÎÒ½«±È½ÏË ......

VMwareÐéÄâ»úºÍËÞÖ÷»ú¹²ÏíÎļþ¼Ð(windows,linux)


ÔÚWindowsËÞÖ÷»úÖÐÌí¼Ó¹²ÏíÎļþ¼Ð
1.Ñ¡Ôñ ÐéÄâ»ú ¡µÉèÖÃ
2.Ñ¡Ôñ Ñ¡Ïî
3.µãÑ¡ ¹²ÏíÎļþ¼Ð
4.µã»÷Add°´Å¥ ´ò¿ª¹²ÏíÎļþ¼ÐÏòµ¼ ²¢µãÏÂÒ»²½
5.ÊäÈë¹²ÏíÎļþ¼ÐÃû×ÖºÍλÖà ²¢µãÏÂÒ»²½
   Name —— Õâ¸öÃû×Ö½«³öÏÖÔÚÐéÄâ»úÄÚ
   Host folder —— ÔÚËÞÖ÷»úÖÐÄãÏë¹²ÏíµÄÎļþ¼Ð· ......

Linux·þÎñÆ÷ÈÕÖ¾¹ÜÀíÏê½â

ÈÕÖ¾¶ÔÓÚ°²È«À´Ëµ£¬·Ç³£ÖØÒª£¬Ëû¼Ç¼ÁËϵͳÿÌì·¢ÉúµÄ¸÷ÖÖ¸÷ÑùµÄÊÂÇ飬Äã¿ÉÒÔͨ¹ýËûÀ´¼ì²é´íÎó·¢ÉúµÄÔ­Òò£¬»òÕßÊܵ½¹¥»÷ʱ¹¥»÷ÕßÁôϵĺۼ£¡£ÈÕÖ¾Ö÷ÒªµÄ¹¦ÄÜÓУºÉó¼ÆºÍ¼à²â¡£Ëû»¹¿ÉÒÔʵʱµÄ¼à²âϵͳ״̬£¬¼à²âºÍ×·×ÙÇÖÈëÕߵȵȡ£
¡¡¡¡ÔÚLinuxϵͳÖУ¬ÓÐÈý¸öÖ÷ÒªµÄÈÕÖ¾×Óϵͳ£º
¡¡¡¡Á¬½Óʱ¼äÈÕÖ¾--Óɶà¸ö³ÌÐòÖ´ÐУ¬°Ñ¼ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ