#include <stdlib.h> 
#include <stdio.h> 
#include <errno.h> 
#include <string.h> 
#include <netdb.h> 
#include <sys/types.h> 
#include <netinet/in.h> 
#include <sys/socket.h> 
int main(int argc, char *argv[]) 

int sockfd; 
char buffer[1024]; 
struct sockaddr_in server_addr; 
struct hostent *host; 
int nbytes; 
if(argc!=2) 

     fprintf(stderr,"Usage:%s hostname portnumber\a\n",argv[0]); 
     exit(1); 

if((host=gethostbyname(argv[1]))==NULL) 

     herror ("Get host name error\n"); 
     exit(1); 

 
if((sockfd=socket(AF_INET,SOCK_STREAM,0))==-1) 

     fprintf(stderr,"Socket Error:%s\a\n",strerror(errno)); 
     exit(1); 

/* 客户程序填充服务端的资料 */ 
bzero(&server_addr,sizeof(server_addr)); 
server_addr.sin_family=AF_INET; 
server_addr.sin_port=htons(2000); 
server_addr.sin_addr=*((struct in_addr *)host->h_addr); 
/* 客户程序发起连接请求 */ 
if(connect(sockfd,(struct sockaddr *)(&server_addr),\
            sizeof(struct sockaddr))==-1) 

     fprintf(stderr,"Connect Error:%s\a\n",strerror(errno)); 
     exit(1); 

/* 连接成功了 */ 
if((nbytes=read(sockfd,buffer,1024))==-1) 

     fprintf(stderr,"Read Error:%s\n",strerror(errno)); 
     exit(1); 

buffer[nbytes]='\0'; 
printf("I have received:%s\n",buffer); 
/* 结束通讯 */ 
close(sockfd); 
exit(0); 
}
用delphi7写啊,面板要求两个按钮,一个实现上面的程序,一个退出,两个edit组件,一个输入ip地址,一个现实另一个程序返回来的字符,还有一个状态栏现实连接的成功与否。
如果可用,分数会加大三倍!