Ò»¸ö¼òµ¥µÄlinuxÏÂÍøÂç³ÌÐòʵÀý£ÍøÂç±à³ÌÈëÃÅ ÊÕ²Ø
http://blog.csdn.net/manio/archive/2006/10/13/1333202.aspx
/*
server
*/
#include
<
stdio.h
>
#include
<
sys
/
types.h
>
#include
<
netinet
/
in
.h
>
#include
<
sys
/
socket.h
>
#include
<
netdb.h
>
#include
<
unistd.h
>
#include
<
string
.h
>
#include
<
arpa
/
inet.h
>
#define
PORT 8848
#define
BACKLOG 1
main()
{
int
listenfd,connectfd;
struct
sockaddr_in server;
struct
sockaddr_in client;
int
sin_size;
if
(( listenfd
=
socket(AF_INET, SOCK_STREAM,
0
))
==
-
1
)
{
perror(
"
Creating socket failed.
"
);
return
0
;
}
int
opt
=
SO_REUSEADDR;
setsockopt(listenfd, SOL_SOCKET, SO_REUSEADDR,
&
opt,
sizeof
(opt));
bzero(
&
server,
sizeof
(server));
server.sin_family
=
AF_INET;
server.sin_port
=
htons(PORT);
server.sin_addr.s_addr
=
htonl(INADDR_ANY);
printf(
"
binding...
"
);
if
(bind(listenfd, (
struct
sockaddr
*
)
&
server,
sizeof
(
struct
sockaddr))
==
-
1
) {
perror(
"
Bind error
"
);
ret
Ïà¹ØÎĵµ£º
ÊÖÍ·Óиöep9315µÄ°å£¬½ñÌìͻȻÏëÆðÅÜÒ»ÏÂadslÉÏÍø¡£ÍíÉÏ»ØÀ´¾Í¿ªÊ¼¸ã¡£
´Ó10µãµ½ÏÖÔÚ£¬ÖÕÓÚÄܹ»ÅÜÆðÀ´¡£
¸ø´ó¼Ò½è¼øÒ»Ï¡£
1.±àÒëÄںˣ¬°ÑpppµÄÄÇЩѡÏîÑ¡ÉÏ¡£ (ÎÒÓÃ2.6.8.1µÄkernel£¬cirrus µÄpatch)
2.libpcap-0.9.1 Õâ¸ö°üÊÇpppdÐèÒªµÄ¡£
./configure CC=arm-linux-gcc CFLAGS=-msoft-float --target=arm-linu ......
Linux
ÏÂÉèÖö˿ÚȨÏÞµÄϵͳµ÷ÓÃÓÐÁ½¸ö£º
ioperm
ºÍ
iopl
¡£
Ò»¡¢
ioperm
ºÍ
iopl
½éÉÜ¡£
1.ioperm
¹¦ÄÜÃèÊö£º
Ϊµ÷Óýø³ÌÉèÖÃ
I/O
¶Ë¿Ú·ÃÎÊȨÄÜ¡£
ioperm
µÄʹÓÃÐèÒª¾ßÓг¬¼¶Óû§µÄȨÏÞ£¬Ö»ÓеͶ˵Ä
[0-0x3ff] I/O
¶Ë¿Ú¿É±»ÉèÖã¬ÒªÏëÖ¸¶¨¸ü¶à¶Ë¿ÚµÄȨÄÜ£¬¿ÉʹÓÃ
iopl
º¯Êý¡£ÕâÒ»µ÷ÓÃÖ»¿ÉÓÃÓ ......
дÔÚÇ°ÃæµÄ»°
Linux Device Driver ³¢ÊÔ×Å¿´Á˺ü¸±é£¬×ܸоõÀí½â²»¹»Í¸³¹£¬ºÜ¶à¶«Î÷¾²»×¡ÎÊ£¬
²ÅÉîÉîµÄÒâʶµ½£¬Òª×ß½øºÆå«ÎÞ±ßµÄ Linux ÊÀ½ç£¬²¢²»ÊÇÒ»õí¶ø¾ÍµÄÊÂÇé¡£ÎÒ¾öÐÄ´ÓÀíÂÛµ½
ʵ¼ù£¬ÔÙÒ»´Î×ßÒ»±ßÕâ±¾Ê飬ͬʱ¼Ç¼ÏÂ×Ô¼ºµÄÐĵ㬺ʹó¼ÒÒ»Æð·ÖÏí£¬Ò»ÆðÌÖÂÛ£¬Ò»Æð½ø
²½¡£
&nb ......
дÁË´úÂ룬ʹÓÃace_proactor, ÔÀ´windowsÅܵ÷dz£Æ¯ÁÁ£¬À´µ½linux¾Íʱ²»Ê±²»¹¤×÷£¬È»ºó¼Óasynce_connectorºó£¬·¢ÏÖÍê³É²»Äܹ¤×÷£¬async_stream_writeºó£¬·¢ÏÖ¿¨ÔÚÄÇÀ¸ù±¾·¢²»³öÈ¥£¬¶à´Î·ÖÎöºó£¬·¢ÏÖ£¬ÔÀ´Ö®Ç°ÓÐaio_readûÓÐÍê³É£¬aio_writeµÄÇëÇó¾ÍblockÄÇÀïÁË£¬writeÕâ¸ö²Ù×÷¾¹È»Ò»¶¨ÒªµÈǰµÄaio_readÍê³ÉÖ®ºó£¬²Å¿ÉÒ ......