- 浏览: 1478270 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (691)
- linux (207)
- shell (33)
- java (42)
- 其他 (22)
- javascript (33)
- cloud (16)
- python (33)
- c (48)
- sql (12)
- 工具 (6)
- 缓存 (16)
- ubuntu (7)
- perl (3)
- lua (2)
- 超级有用 (2)
- 服务器 (2)
- mac (22)
- nginx (34)
- php (2)
- 内核 (2)
- gdb (13)
- ICTCLAS (2)
- mac android (0)
- unix (1)
- android (1)
- vim (1)
- epoll (1)
- ios (21)
- mysql (3)
- systemtap (1)
- 算法 (2)
- 汇编 (2)
- arm (3)
- 我的数据结构 (8)
- websocket (12)
- hadoop (5)
- thrift (2)
- hbase (1)
- graphviz (1)
- redis (1)
- raspberry (2)
- qemu (31)
- opencv (4)
- socket (1)
- opengl (1)
- ibeacons (1)
- emacs (6)
- openstack (24)
- docker (1)
- webrtc (11)
- angularjs (2)
- neutron (23)
- jslinux (18)
- 网络 (13)
- tap (9)
- tensorflow (8)
- nlu (4)
- asm.js (5)
- sip (3)
- xl2tp (5)
- conda (1)
- emscripten (6)
- ffmpeg (10)
- srt (1)
- wasm (5)
- bert (3)
- kaldi (4)
- 知识图谱 (1)
最新评论
-
wahahachuang8:
我喜欢代码简洁易读,服务稳定的推送服务,前段时间研究了一下go ...
websocket的helloworld -
q114687576:
http://www.blue-zero.com/WebSoc ...
websocket的helloworld -
zhaoyanzimm:
感谢您的分享,给我提供了很大的帮助,在使用过程中发现了一个问题 ...
nginx的helloworld模块的helloworld -
haoningabc:
leebyte 写道太NB了,期待早日用上Killinux!么 ...
qemu+emacs+gdb调试内核 -
leebyte:
太NB了,期待早日用上Killinux!
qemu+emacs+gdb调试内核
socket就是个通道
真正用的还是fd
cat tcpserver.c
tcpclient.c
客户端不用fd
没看一次理解都不一样
真正用的还是fd
cat tcpserver.c
#include <stdio.h> #include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> #include <arpa/inet.h> int main(argc,argv){ int s,fd,len; struct sockaddr_in my_addr; struct sockaddr_in remote_addr; int sin_size; char buf[BUFSIZ]; memset(&my_addr,0,sizeof(my_addr)); my_addr.sin_family=AF_INET; my_addr.sin_addr.s_addr=INADDR_ANY; my_addr.sin_port=htons(87654); if((s=socket(AF_INET,SOCK_STREAM,0))<0) { perror("socket"); return 1; } if(bind(s,(struct sockaddr * )&my_addr,sizeof(struct sockaddr))<0) { perror("bind"); return 1; } listen(s,5); sin_size=sizeof(struct sockaddr_in); if((fd=accept(s,(struct sockaddr *)&remote_addr,&sin_size))<0) { perror("accept"); return 1; } printf("accepted client %s\n",inet_ntoa(remote_addr.sin_addr)); len=send(fd,"welcome haha to myserver\n",25,0); while((len=recv(fd,buf,BUFSIZ,0))>0) { buf[len]='\0'; printf("%s\n",buf); if(send(fd,buf,len,0)<0) { perror("write "); return 1; } } close(fd); close(s); return 0; }
./a.out & telnet localhost 87654
tcpclient.c
#include <stdio.h> #include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> #include <arpa/inet.h> int main(argc,argv){ int s,len; struct sockaddr_in remote_addr; char buf[BUFSIZ]; memset(&remote_addr,0,sizeof(remote_addr)); remote_addr.sin_family=AF_INET; remote_addr.sin_addr.s_addr=inet_addr("127.0.0.1"); remote_addr.sin_port=htons(8000); if((s=socket(AF_INET,SOCK_STREAM,0))<0) { perror("socket"); return 1; } if(connect(s,(struct sockaddr *)&remote_addr,sizeof(struct sockaddr))<0) { perror("connect"); return 1; } printf("connect to server\n"); len=recv(s,buf,BUFSIZ,0); buf[len]='\0'; printf("%s",buf); while(1){ printf("enter string to end:"); scanf("%a",buf); if(!strcmp(buf,"quit")) break; len=send(s,buf,strlen(buf),0); len=recv(s,buf,strlen(buf),0); buf[len]='\0'; printf(" received:%s\n",buf); } close(s); return 0; }
客户端不用fd
没看一次理解都不一样
发表评论
-
xl2tp 备份
2019-09-24 16:25 6952019年9月24日更新: 注意,需要开启firewall ... -
sdl笔记
2019-01-31 17:19 733sdl教程教程 https://github.com/Twin ... -
tinyemu
2019-01-24 17:59 1433参考https://bellard.org/jslinux/t ... -
aws搭建xl2tp给iphone使用
2018-12-26 21:37 18922019年12月26日 可以参考原来的配置 https:// ... -
consul的基本使用
2017-06-27 11:13 1402### 安装 [centos7上consul的安装](ht ... -
lvs的helloworld
2017-06-13 20:36 597###################lvs######### ... -
系统调用的helloworld
2017-05-04 16:14 635《2.6内核标准教程》 p293 #include < ... -
bitcoin和cgminer的安装
2017-04-05 22:45 1959参考 http://blog.csdn.net/rion_ch ... -
ceph安装和常用命令
2017-03-21 21:55 954/etc/hosts ssh-keygen ssh-copy- ... -
mobile terminal 笔记
2016-12-02 15:35 627找出旧的iphone4 越狱之后可以变个小操作系统 mobi ... -
socket基础和select(python)
2016-06-14 17:21 1803上接 c语言的socket基础ht ... -
socket基础(c语言)
2016-06-14 16:45 996不使用select 普通的基础socket连接,对多个客户端的 ... -
ffmpeg+nginx 的直播(2,直播摄像头和麦克风)
2016-05-28 20:21 4362假设我的服务器是centos7 192.168.139.117 ... -
ffmpeg+nginx 的直播(1,直播播放的视频文件)
2016-05-26 17:11 659664位操作系统centos7 ############ 1.一 ... -
socat和netcat(nc)
2016-04-29 22:36 1746转 原文链接: http://www.wenquan.name ... -
neutron基础九(qemu nat网络)
2016-02-06 17:21 1622接上基础八,kvm透传nested忽略 1.在主机ce ... -
neutron基础八(qemu 桥接网络)
2016-02-06 13:13 1544qemu的桥接和nat的qemu启动命令是一样的,但是后续的脚 ... -
neutron基础七(qemu tap)
2016-02-02 17:02 1030使用qemu 建立个虚拟机 然后用tap设备, 根据基础六,t ... -
neutron基础六(bridge fdb)
2016-01-28 18:30 2266转发表 在三台机器上建立三个namespace 192.16 ... -
南北流量
2016-01-23 23:26 1829一、三层网络架构: 接入层:负责服务器的接入和隔离 汇聚层:汇 ...
相关推荐
在IT行业中,网络编程是不可或缺的一部分,而TCP Socket通信作为网络通信的基础,其调试工作尤为重要。标题提到的“好用的Tcp Socket调试工具”显然是一款能够帮助开发者解决TCP Socket通信问题的有效辅助软件。描述...
最近有个项目模块需要用到TCP Socket通讯,遇到了一个大坑,所以做了这个Demo。 本Demo主要实现了安卓(Android)TCP 客户端(Client)和服务器(Server)Demo的Socket通讯。以及对接硬件的项目数据在十六进制&&byte&&int...
本文将详细解析使用C#语言编写的TCP socket服务端代码,特别是针对GPRS(General Packet Radio Service)环境的服务端测试程序。 首先,TCP是一种面向连接的、可靠的传输协议,它确保了数据的顺序传输和无丢失特性...
SocketTcp_TcpSocket服务端框架是一个专为开发者设计的简单且通用性强的TCP服务器实现。这个框架旨在简化网络编程过程,让开发者能够快速构建自己的TCP服务应用,只需要对原有代码进行少量修改,即可轻松地将其集成...
TCP套接字(TCP Socket)是网络通信中的一个重要概念,它是基于传输控制协议TCP的应用程序接口,用于在互联网上实现两台计算机之间的可靠数据传输。TCP确保数据在传输过程中的完整性,通过提供连接导向、面向字节流...
在IT行业中,TCP Socket通信是网络编程的基础,广泛应用于各种客户端-服务器应用程序。"Tcp Socket client 实例"指的是一个使用TCP协议的客户端示例程序,它通过Socket接口与服务器进行数据交互。事件驱动是一种编程...
总结起来,"TCPSOCKET线程池通信客户端+服务器端示例代码"是.NET开发者学习如何利用TCP SOCKET进行高效、多线程通信的宝贵资源。通过理解和实践这个示例,开发者可以更好地掌握网络编程技术,为开发高性能的网络应用...
Qt5作为一个强大的跨平台应用程序开发框架,提供了丰富的功能来处理网络编程,其中包括TCP套接字(TCPsocket)的使用。本篇将详细介绍如何利用Qt5的TCPsocket实现文件的发送与接收。 首先,TCP(Transmission ...
在IT行业中,网络通信是不可或缺的一部分,而TCP(Transmission Control Protocol)和Socket是实现网络通信的基础。本教程将深入探讨如何使用C#语言编写原生的TCP Socket客户端和服务端程序。TCP是一种面向连接的、...
在这个特定的项目中,开发者利用QT5创建了一个简单的TCP SOCKET通信示例,用于演示如何在客户端和服务器之间交换数据。TCP(传输控制协议)是一种面向连接的、可靠的网络通信协议,它确保了数据包的顺序传输和错误...
在IT行业中,网络通信是至关重要的一个领域,TCP(传输控制协议)和Socket编程是其中的基础。本实例将深入探讨如何使用C#语言实现TCP Socket通信。C#是一门广泛应用于Windows平台的面向对象的编程语言,其强大的.NET...
本文将深入探讨C#环境下如何利用Tcp Socket进行简单高效的通信,结合提供的"SimpleSocket-master"源码,我们将揭示其方便易用的特点。 首先,TCP是一种面向连接的、可靠的传输协议,它确保数据的顺序传输和无丢失性...
查看本机tcp socket当前连接数(并发量).zip
本文将深入探讨基于TCPsocket的文件传输程序,重点解析标题和描述中的关键知识点,并以此为基础,分析提供的两个Python脚本:TCP_server_v2_0.py和client_v1_2.py。 首先,TCP是一种面向连接的、可靠的传输协议,它...
标题中的"WIN32 TCPsocket"指的是在Windows 32位平台上使用TCP协议进行网络通信的编程技术。TCP(Transmission Control Protocol)是一种面向连接、可靠的传输协议,它保证了数据包在互联网上的有序和无损传输。在...
本文将深入探讨如何在Visual C++(简称VC++)环境下,利用TCP套接字进行网络编程,同时分享一个名为“TcpSocket_vc”的经典类库,它在实际项目中表现出色,值得学习和使用。 TCP是一种面向连接的、可靠的传输协议,...
TCP套接字(TCP Socket)是网络通信中的一个重要概念,它是基于传输控制协议TCP的应用程序编程接口API,用于实现两台计算机之间的可靠、面向连接的数据通信。在这个"TCP socketDemo"中,我们很可能会看到一个简单的...
本教程旨在帮助初学者理解TCP Socket编程的基本概念,并通过简单的实例演示如何实现客户端与服务器端的交互。 TCP(Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议。它确保...
在C#编程中,利用.NET框架提供的Socket类,我们可以方便地实现TCP通信。然而,在某些场景下,如传输大块数据时,可能会遇到分包传送的问题。本篇将深入探讨C#中如何处理TCP Socket的分包传送数据。 首先,TCP协议...