linux c 网络编程(linux系统的电脑)

大家好,今天来为大家解答linux c 网络编程这个问题的一些问题点,包括linux系统的电脑也一样很多人还不知道,因此呢,今天就来为大家分析分析,现在让我们一起来看看吧!如果解决了您的问题,还望您关注下本站哦,谢谢~

Linux C语言网络编程问题!

unsigned int dir(char* server){

int sck;//套接字变量

struct sockaddr_in serv_adr;//远程主机的地址

struct hostent*host;//指向远程主机的指针

unsigned char databuf[FILEBUF_SIZE];//数据

int bytes= 0, bytesread= 0;//字节数,读取到的字节数

host= gethostbyname(server);//根据远程主机的主机名,得到指向远程主机的指针

if(host==(struct hostent*) NULL){//如果得到指向远程主机的指针失败,报告错误,并返回

perror("gethostbyname failed");

return 0;

}memset(&serv_adr, 0, sizeof(serv_adr));//初始化远程主机的地址,结构体内所有成员清零

serv_adr.sin_family= AF_INET;//设置地址类型

memcpy(&serv_adr.sin_addr, host->h_addr, host->h_length);//取出指向远程主机的指针中包含的地址信息,赋给远程主机地址变量

serv_adr.sin_port= htons(SERVICE_PORT);//设置端口号,比如http服务对应80端口,ftp对应21端口

if((sck= socket(AF_INET, SOCK_STREAM, 0))< 0){//如果建立TCP协议的套接字失败,报告错误,并返回

perror("error on socket()");

return 0;

}

if(connect(sck,(struct sockaddr*)&serv_adr, sizeof(serv_adr))< 0){//如果使用该套接字连接到远程主机失败,报告错误,并返回

perror("error on connect()");

return 0;

}write(sck,"DI\n\n", 4);//连接成功,发送内容为"DI\n\n"的消息,远程主机收到该消息,解析后生成目录列表,并将目录列表信息传递回来

printf("Remote directory listing:\n");//输出提示信息“远程主机正在生成目录列表”

while((bytes= read(sck, databuf, FILEBUF_SIZE))> 0){//从套接字的数据流中读取远程主机的返回信息(即目录列表),每次读取FILEBUF_SIZE个字节,直到全部读取完毕

write(fileno(stdout), databuf, bytes);//将每次读到的数据,输出到标准输出流(stdout),即屏幕上

bytesread+= bytes;//接收到的字节数累加

}

close(sck);/* Close the socket*///通信完成,关闭套接字,关闭连接

return bytesread;//返回读取到的字节数(即远程主机返回的信息的大小)

}

计算机网络socket linux下用c或c++写

我这有一段最简单的SOCKET连接服务端的~!前阵子装Ubuntu 10后写着实验用的,这是最基本的TCP服务端框架。各种函数的条用跟 WINDOWS下的一样(我说的WINDOWS下可不是MFC喔~!)客户端自己琢磨,不懂的话再发你~!至于你要的细节,我感觉还是自己写的好

人不能太懒~!必须深入认识否则你领略不到 C程序设计的精髓~!

//////////代码如下//////////////////////////////////////////////////

/////////////////////////////////////////////////////////////////////////////////////

///////////////////////// H*F*W 2010.05.21 In GuangZhou///////////////////////////

///////////////////////// LINUX SOCKET实验最简单服务端///////////////////////////

/////////////////////// linux编程 SOCKET,GTK有共同兴趣的朋友+我 Q: 176469428////////

#include<stdio.h>

#include<string.h>

#include<sys/socket.h>

#include<netinet/in.h>

int Hlisten(unsigned short hport)

{

int hsock,rhsock,cc,alen,ret;

struct sockaddr_in hlsock;

char hbuf[65535];

if((hsock=socket(AF_INET,SOCK_STREAM,0))==-1){printf("Error in socket()\n");return 0;}//建立套接字

memset(&hlsock,0,sizeof(hlsock));//初始化SOCKET空间

hlsock.sin_family=AF_INET;

hlsock.sin_port=htons(hport);///监听端口

hlsock.sin_addr.s_addr=htonl(INADDR_ANY);///地址族

ret=1;

setsockopt(hsock,SOL_SOCKET,SO_REUSEADDR,&ret,sizeof(ret));

if(bind(hsock,(struct sockaddr*)&hlsock,sizeof(hlsock))==-1){printf("Error in bind()\n");return 0;}//帮定

if(listen(hsock,0)==-1){printf("Error in listen()\n");return 0;}///进入监听状态

alen=sizeof(hlsock);

rhsock=accept(hsock,(struct sockaddr*)&hlsock,&alen);///接受客户端接入

while(1)

{

memset(hbuf,0,sizeof(hbuf));

cc=recv(rhsock,hbuf,sizeof(hbuf),0);///等待接收数据

if(cc==-1)break;

printf("%s",hbuf);///显示接收内容

}

close(hsock);//关闭连接

return 0;

}

int main(int argc,char*argv[])

{

//if(argc<=1){printf("usge: [port]");return 0;}

Hlisten(330);//调用监听过程传入监听端口

return 0;

}

///////////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////

//////////////////使用gcc编译直接就可以看到效果////////////////

/////////////////////////////////////////////////////////////////

C++网络编程都要学什么

建议报一个培训班,都是零基础入学的,这是网络编程的全部课程,要是感兴趣的话可以了解一下:

第一阶段

1、计算机操作基础

2、Office办公自动化

3、计算机组装与维护

4、C语言

第二阶段

1、SQL Server2005数据库设计

2、和高级查询

3、数据结构

4、C#面向对象程序设计

5、HTML5与CSS3开发

6、JavaScript

7、jQuery高级编程

8、PHP开发

第三阶段

APP Development

1、JavaScript特效制作

2、jQuery应用开发

3、HTML5与CSS3开发

4、Java面向对象程序设计

第四阶段

JAVAWEB Development

1、产品流程应用

2、移动平台界面设计

3、Oracle数据库开发

4、JavaWeb应用开发

Mobile APP Development

1、实训一:WEB前端设计与开发

2、实训二:J2EE项目开发

阅读剩余
THE END