LinuxÏÂÃæSocket±à³ÌµÄÎÊÌâ
http://hqlong.com/2009/06/800.html/comment-page-1 ¿´µ½ÁËÕâÆª½Ì³Ì£¬¿ÉÊÇÓÐһЩ²»Àí½âµÄ£¬×¢ÊͳöÀ´ÁË£¬ÔÚwhileÑ»·ÀïÃæ£¬Ï£Íû´ïÈËÄܽâÊÍÒ»ÏÂ
C/C++ code:
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <string.h>
#include <sys/types.h>
#include <netinet/in.h>
#include <sys/socket.h>
#include <sys/wait.h>
#define SERVPORT 3333
#define BACKLOG 10
#define MAXSIZE 1024
int main() {
int sockfd,client_fd;
struct sockaddr_in my_addr;
struct sockaddr_in remote_addr;
//´´½¨Ì×½Ó×Ö
if ((sockfd = socket(AF_INET,SOCK_STREAM,0)) == -1) {
perror("socket create failed!");
exit(1);
}
//°ó¶¨¶Ë¿ÚµØÖ·
my_addr.sin_family = AF_INET;
my_addr.sin_port = htons(SERVPORT);
my_addr.sin_addr.s_addr = INADDR_ANY;
bzero(&(my_addr.sin_zero),8);
if (bind(sockfd, (struct sockaddr*)&my_addr, sizeof(struct sockaddr)) == -1) {
perror("bind error!");
exit(1);
}
//¼àÌý¶Ë¿Ú
if (listen(sockfd, BACKLOG) == -1) {
perror("listen error");
exit(1);
}
while (1) {
int sin_size = sizeof(struct sockaddr_in);
if ((client_fd = accept(sockfd, (struct sockaddr*)&remote_addr,&sin_size)) == -1) {
Ïà¹ØÎÊ´ð£º
ʹÓÃPHPµÄexecº¯Êýµ÷ÓÃlinuxµÄshellÃüÁÈçdateÈ¥ÐÞ¸Äʱ¼ä»òshutdownȥʵÏֹػú/ÖØÆô£¬µ«ÊÇ·µ»ØÖµ¶¼ÊÇʧ°ÜµÄ¡£¾¹ý¶à´ÎÊÔÑ飬È϶¨ÊÇûÓÐȨÏÞµÄÎÊÌâ¡£
ËùÒÔ£¬Ð¡µÜÔÚ´ËÇë½Ì¸÷룬ÈçºÎ²ÅÄÜÉèÖÃȨÏÞ£¬µ÷ÓÃlinux shellà ......
ÓÐʲôºÃµÄLinux½Ì³ÌÂð£¿
СµÜл¹ý~
[ÎÊÌâµãÊý:0·Ö]
google
¾Ý˵Äñ¸çµÄ˽·¿²Ë²»´í¡£
Äñ¸çµÄLinux˽·¿²Ë
¸ü¶àµÄÔÙÕâÉÏÃæÈ¥ËÑË÷һϺÜLIUNXÊé¼®»¹²»´í
ÒýÓÃ
google
Õý½â
Äñ¸çµÄLinux˽·¿²Ë ......
¸÷λ´óϺ£¬ÎÒÕýÔÚѧϰLinux£¬¿ÉÊÇLinuxͼÐνçÃæºÍÃüÁîÐÐÖ®¼äÇл»Óöµ½À§ÄÑ£¬ÔÚÃüÁîÐÐÏÂÊäÈëstartx£¬²»ÊǽøÈëͼÐνçÃæ
¶øÊdzöÏÖ
ÇëÎʸ÷룬ÕâÊÇΪʲô£¿ ¶øÇÒ°´Ctrl+Alt+F7£¬Ò²²»ÄÜÃüÁîÐнøÈëͼÐνçÃæ¡£
¼±¼±¼±
......
RT
javaµÄһЩ½çÃæÊÇ·½¿é¡£Ó¦¸ÃÊÇ×Ö·ûÎÊÌâ°É¡£
ÎÒÓõÄÊÇFedora11.ÇëÎÊÔõô½â¾ö°¡£¿
°££¬Ã»ÓÐÈ˻شðÎÒ
Ã²ËÆlinuxϵÄ×Ö·ûÊÇutf-8 ÊÇÓÃeclipseô£¿ Êǵϰ£¬°ÑËü¸Ä»Øgbk¾Í¿ÉÒÔÁË¡£
ϵͳÖÐÎÄ×ÖÌå°²×°ÁËÂð£¿
Ä ......
ÓÉÓÚÎҲŸոսӴ¥socket±à³Ì£¬×Ô¼ºÐ´ÁËÒ»¸ö¼òµ¥³ÌÐò£¬µ«¾ÍÊÇÔÚÔËÐеÄʱºò³öÏֶδíÎó£¬ÎÞ·¨½â¾ö£¬ÏÖÔÚÎÒ°ÑÔ´´úÂëÌù³öÀ´£¬Çë¸÷λ´óϺָÕýһϣ¡Ð»Ð»£¡
#include<stdio.h>
#include<stdlib.h>
#include& ......