现在位置: 首页 > 网络编程
2013-06-04 22:03 工业·编程 ⁄ 共 2262字 暂无评论
     要写网络程序就必须用Socket,这是程序员都知道的。而且,面试的时候,我们也会问对方会不会Socket编程?一般来说,很多人都会说,Socket编程基本就是listen,accept以及send,write等几个基本的操作。是的,就跟常见的文件操作一样,只要写过就一定知道。          对于网络编程,我们也言必称TCP/IP,似乎其它网络协议已经不存在了。对于TCP/IP,我们还知...
阅读全文
2013-05-27 23:15 工业·编程 ⁄ 共 1133字 暂无评论
    最近在做一个TCP采集程序,使用到C/S的结构。功能比较的简单,就是TCP采集程序作为服务器,信令采集设备作为客户端,客户端与服务器端之间建立长连接之后,开始发送信令报文给服务器。在服务器端使用多线程方式来处理每个客户端的socket连接,服务器端不主动断开链路,也没有心跳机制来维护连接的状态,客户端发送数据的时间也是不一定的,只要有采集到信令数据时才进行发送。在客户端socket断开后,服务器...
阅读全文
2013-05-25 23:10 工业·编程 ⁄ 共 423字 评论 1 条
    最近在做有关于TCP采集程序时,发现在客户端与服务器通过TCP socket进行通信的时候,如果客户端应用程序正常或者异常退出时,服务器都可以在对应的socket通信连接上获得响应(如返回0,或者抛出异常)。但是,如果在客户端的网线被拔掉的情况下,那么默认情况下,服务器端需要很长的时间才会知道客户端的网线断掉。对于许多服务器应用程序来说,这么长的反应时间是不能允许的,在这种情况下通常使用“心跳机...
阅读全文
2013-05-24 23:03 工业·编程 ⁄ 共 1649字 暂无评论
    字节序,又称为端序和尾序(Endianness)。它指存放多字节数据的字节顺序,例如:整数(short、int等)在内存中存放的方式和网络传输的传输顺序。     大端字节序(big-endian),又称大尾序:最高有效位(MSB)存储在最低内存地址处。最直观的字节序,地址低位存储值的高位,地址高位存储只的地位。     小端字节序(little-endian),又称小尾序:最低有效位(LSB)存储在...
阅读全文
2013-05-03 12:29 工业·编程 ⁄ 共 2269字 暂无评论
给大家从招聘信息上截取几段内容: 熟悉Socket编程,熟悉Tcp/Ip协议栈; 熟悉TCP/IP协议、UDP协议,有相关的协议开发经验; 熟悉网络编程/多线程编程技术; 大家应该很清晰了吧,关键词就是TCP/IP,Socket,我再附加一个多线程。下面开始我的网络编程之旅。 tcp/ip协议分析 其实协议分析并不是大众认为的网络编程的范畴,现在网络编程已经完全和socket等同了。socket是表面,TCP/IP协议是里,有了协议分析的经历更会让你的网络...
阅读全文
2013-05-03 11:45 工业·编程 ⁄ 共 18448字 暂无评论
在网络程序中遇到的一些问题进行了总结, 这里主要针对的是我们常用的TCP socket相关的总结, 可能会存在错误, 有任何问题欢迎大家提出.  . e3 Y0 @* _- e1 G- B% R  对于网络编程的更多详细说明建议参考下面的书籍  《UNIX网络编程》 《TCP/IP 详解》 《Unix环境高级编程》  $ ^, `# d2 h9 r6 ~, b* Z: F. L' n  非阻塞IO和阻塞IO: % k, j  L4 b1 q3 d9 m+ D  x% I...
阅读全文
2013-05-03 11:35 工业·编程 ⁄ 共 1923字 暂无评论
    (本文针对的是windows,linux下基于c++语言的网络编程)     我从事的是企业级的软件开发,纵观当今的企业级软件,单机模型已经越来越少,更多的是C/S模型,目前client和server之间通信是通过socket技术来实现的。      上面提到了socket技术,自然要学习TCP/IP协议,对于TCP/IP的理论,学习Richard的《TCP/IP详解 卷1:协议》我认为是不二的选择,这本书涵盖内容很多...
阅读全文
2013-05-03 06:11 工业·编程 ⁄ 共 1646字 暂无评论
本文不会涉及到你该使用UDP还是TCP,是FTP还是HTTP,也就是跟P都没有关系。^^ 同时,也不涉及该使用私有协议还是标准协议,还是在标准协议下使用私有协议, 而是会谈及在具体的协议编写的时候,使用哪种编写的方式会更好。由于本人的知识有限,谈及利弊时,主要以使用C++编写服务端时的经验为主,至于同时适不适用于其他语言,就靠童鞋们自己分辨了。 第一层境界:新手入门     因为我一开始工作的第一家公司就...
阅读全文
2013-03-28 06:42 工业·编程 ⁄ 共 904字 暂无评论
    在Windows平台进行网络程序开发, 可以使用不同的库, 但是最常用的还是微软自己开发的库。具体说来,有: (1)Winsock,工作于网络层和传输层的开发库,对于编写TCP,UDP,以及原始IP通信程序非常合适。函数原形也基本符合Unix socket标准。Windows平台上的大多数程序,如QQ,讯雷等都基于其开发。 (2)ws2_32,是Winsock的升级版本,在兼容的基础上增加了不符合Unix socket标准,但更适合Windows平台的库...
阅读全文
2013-03-27 06:40 工业·编程 ⁄ 共 3265字 暂无评论
Client端代码:client.cpp #include <stdio.h>  #include <winsock2.h>  #pragma comment(lib, "ws2_32.lib")  void main() {      // 初始化 Winsock.      WSADATA wsaData;      int iResult = WSAStartup( MAKEWORD(2,2), &wsaData );      if ( iResult != NO_ERROR )    &...
阅读全文