当前位置:首页 » 网络连接 » c语言网络

c语言网络

发布时间: 2021-03-05 01:20:29

1. c语言网络编程

可以,不过C语言擅长的是逻辑处理和底层交互,页面展现用C就太麻烦了

如果是网络方面的编程,建议你看看套接口Socket方面的书,最好在Linux下面,在Win下面就用wsock32的知识

2. c语言网络编程 网络编程什么语言

网络编程这复个概念太大了制,包括很多东西,需要各种语言。大概给你说一说吧。 传输层以下的编程技术,一般来说是用汇编、C语言这一类与底层结合很紧密的编程语言。比如,基本的路由器编程、网络层数据交换技术编程等等。

3. 用c语言能访问网络吗

C语言可以联网,但是一般都不学,你想的话,最好学JAVA,这个好学,联网也比较简单的,真的,不信,你可以学学看,

4. c语言网络编程 书

朋友,我的建议是,你在学网络编程之前,一定要把c基础学好,当然不只看谭教授的书专了,下面推荐的属几本书被公认为c语言方面的经典书籍,分别是:
1、c和指针 Kenneth A.Reek 著 徐波译 人民邮电出版社
2、c陷阱和缺陷 Andrew Koenig著 高巍译 人民邮电出版社
3、c专家编程 Dennis Ritchie著 人民邮电出版社
另外推荐基本网络编程书籍,也被称为经典,分别是:
1、TCP/IP详解 卷1:协议 W. Richard Stevens著 谢希仁校 机械工业出版社
2、unix网络编程(第三版) steven著 清华大学出版社
你说你c基础不是很好,所以我建议你看书的先后顺序:先把谭教授那本书看透,接着看上面的c语言方面的三本书籍,当然你可以先看其中的一本或两本,看透后,你的c语言功底就很不错了(一定要结合书里面的范例多做题),此时你的基础就打好了,就可以接着看下面我给你推荐的两本关于网路编程方面的书籍了!好好学习,学海无涯!

5. 如何用c语言实现访问网络

首先你要熟悉套接字的使用,然后要对FTP协议,

包括其中的数据包,通信过程有一定了解。

C语言开发网络程序一般都是用socket套接字这一套函数,你可以去看看资料

6. c语言如何检测网络是否连接

1、如果对方断开连接的话,那么readNum = recv ( socketId, rcvBuf, rcvBufSize, 0 );
readNum返回值应该是0,可以根据返回值判断。
2、recv函数返回值说明
recv函数
int recv( SOCKET s, char FAR *buf, int len, int flags);
不论是客户还是服务器应用程序都用recv函数从TCP连接的另一端接收数据。该函数的第一个参数指定接收端套接字描述符; 第二个参数指明一个缓冲区,该缓冲区用来存放recv函数接收到的数据; 第三个参数指明buf的长度; 第四个参数一般置0。
这里只描述同步Socket的recv函数的执行流程。当应用程序调用recv函数时,
(1)recv先等待s的发送缓冲中的数据被协议传送完毕,如果协议在传送s的发送缓冲中的数据时出现网络错误,那么recv函数返回SOCKET_ERROR,
(2)如果s的发送缓冲中没有数据或者数据被协议成功发送完毕后,recv先检查套接字s的接收缓冲区,如果s接收缓冲区中没有数据或者协议正在接收数 据,那么recv就一直等待,直到协议把数据接收完毕。当协议把数据接收完毕,recv函数就把s的接收缓冲中的数据到buf中(注意协议接收到的数据可能大于buf的长度,所以 在这种情况下要调用几次recv函数才能把s的接收缓冲中的数据完。recv函数仅仅是数据,真正的接收数据是协议来完成的), recv函数返回其实际的字节数。如果recv在时出错,那么它返回SOCKET_ERROR;如果recv函数在等待协议接收数据时网络中断了,那么它返回0。 默认 socket 是阻塞的 解阻塞与非阻塞recv返回值没有区分,都是 <0 出错 =0 连接关闭 >0 接收到数据大小,
特别:返回值<0时并且(errno == EINTR || errno == EWOULDBLOCK || errno == EAGAIN)的情况下认为连接是正常的,继续接收。只是阻塞模式下recv会阻塞着接收数据,非阻塞模式下如果没有数据会返回,不会阻塞着读,因此需要循环读取)。
返回说明: 成功执行时,返回接收到的字节数。另一端已关闭则返回0。失败返回-1,errno被设为以下的某个值 EAGAIN:套接字已标记为非阻塞,而接收操作被阻塞或者接收超时 EBADF:sock不是有效的描述词 ECONNREFUSE:远程主机阻绝网络连接 EFAULT:内存空间访问出错 EINTR:操作被信号中断 EINVAL:参数无效 ENOMEM:内存不足 ENOTCONN:与面向连接关联的套接字尚未被连接上 ENOTSOCK:sock索引的不是套接字 当返回值是0时,为正常关闭连接;
思考:当对侧没有send,即本侧的套接字s的接收缓冲区无数据,返回值是什么(EAGAIN,原因为超时,待测)

7. C语言是网络用于吗

不只 c语言功能很强大 其他高级语言能完成的任务 用c同样可以完成 c语言用于网络和数据库低层操作的时候方便一些

8. C语言和网络

要做有关网络的东西就不要学C了吧,学VB或者JAVA吧

9. c语言的网络编程特点有哪些(在线等待,答得好马上给分!)

1、你说得用C语言开发网络程序,一定指的是在WIN/UNIX/LINUX/SOLARIS/FreeBSD等多进程/多线程操作系统下的编程,网络编程是基于B/S或者C/S架构的,无论那种,S都需要有多线程或者子进程的处理与客户端通信的能力,DOS下的C是不具备这个能力。另外,网络程序是对操作系统多线程/多进程能力要求很高的应用,所以UNIX下的C编程能很好的满足要求。
2、网络编程只要遵从一种协议,语言是没有限定的,比较各种语言编写的网路应用的特点,归根结底还是回到这种语言已经它存在的操作系统的特点。相比与其他语言开发的网络程序,用UNIX/SOKCET/C这种模式开发的网络应用能最大限度的利用系统资源,同时兼备UNIX的稳定性和C的高效率,是大型网络应用经常采用的方式,例如著名的freeBSD,大量的论坛都是这样的方式。很多网络应用,离开UNIX和C,在重连接负荷的情况下是无法工作的。
3、但是由于高效与通用是一对矛盾,UNIX/C开发的网络应用,比较靠近系统底层,代码的可移植性、可重用性相对于使用winsock编程的WINDOWS/C++方案的网络应用要差一些,windows的MFC已经对网络协议做了很多层的封装,使用C++来继承可以节省大量开发时间。
4、结论,如果你想开发自己全新的网络应用/协议,并且要承担很重的用户访问负荷,那么你可以用C,而且操作系统要用UNIX/LINUX,如果你仅仅希望用已经成熟的internet协议写一些界面漂亮的网络应用,推荐你用WINDOWS/C++方式。

10. C语言网络编程

路由器本身不具备数据保存能力。
通常,路由器的功能是端口转发。在路由器建立端口映射(公网某端口和内网某台电脑的某端口关联)后,外网电脑才能和内网某电脑进行通信,通信过程中路由器一直负责数据的中转。但内网电脑一旦关闭连接,路由器是无法单独收取并保存信息的,它会直接把断连事件通知给连接的另一端(外网某电脑)。

例如你的情况,如果局域网里是作为服务器S(监听方),外网某电脑作为客户端C(连接方)。
S程序本身监听端口2014,而C要连接的是路由器在公网的12345端口。
设路由器在公网IP是123.124.125.126,S的内网IP是192.168.1.1。
这时需要对路由器进行手动配置,让路由器能将公网的12345端口和内网192.168.1.1这台电脑的2014映射关联。
这时,内网192.168.1.1上的S对2014进行监听(就用bind然后listen),路由器会反映到公网上,于是在公网看来,就是”电脑“123.124.125.126在对12345进行监听。
而如果外网连接123.124.125.126:12345(注意冒号),路由器会将这个连接请求转化成对192.168.1.1:2014(注意冒号)的连接请求,于是S就会收到连接,能用accept接受它。
后面都和局域网编程一样了。
有问题请继续追问。

热点内容
网卡了的原因 发布:2021-03-16 21:18:20 浏览:602
联通客服工作怎么样 发布:2021-03-16 21:17:49 浏览:218
路由器画图 发布:2021-03-16 21:17:21 浏览:403
大网卡收费 发布:2021-03-16 21:16:50 浏览:113
路由器免费送 发布:2021-03-16 21:16:19 浏览:985
孝昌营业厅 发布:2021-03-16 21:15:54 浏览:861
网速增速代码 发布:2021-03-16 21:15:29 浏览:194
怎么黑光纤 发布:2021-03-16 21:14:54 浏览:901
端口增大 发布:2021-03-16 21:14:20 浏览:709
开机没信号是什么原因 发布:2021-03-16 21:13:45 浏览:645