TCP客户端
来源:互联网 发布:天融信网络管理系统 编辑:程序博客网 时间:2024/05/19 14:55
# include <stdio.h># include <sys/un.h># include <netinet/in.h># include <stdlib.h># include <sys/socket.h># include <sys/types.h>int main(int argc, char **argv){if (argc != 2){printf("Usage:%s <IP ADDRESS>\n", argv[0]);}int Client_fd;if (0 > (Client_fd = socket(PF_INET, SOCK_STREAM, 0))){perror("socket\n");exit(1);}struct sockaddr_in server;memset(&server, 0, sizeof(server));server.sin_family = PF_INET;server.sin_port = htons(8888);server.sin_addr.s_addr = inet_addr("192.168.3.99");if (0 > connect(Client_fd, (struct sockaddr *)&server, sizeof(server)))//当用socket建立了套接口后,可以调用connect为这个套接字指明远程端的地址;如果是字节流套接口,connect就使用三次握手建立一个连接;如果是数据报套接口,connect仅指明远程端地址,而不向它发送任何数据{perror("connect\n");exit(1);}char buf[100];while(1){if (0 > recv(Client_fd, buf, 100, 0))//recv和read如果返回0,表示对端把连接套接字关闭,如果接收缓冲区没有数据,read,recv,recvfrom都会阻塞{perror("recv\n");exit(1);}printf("%s\n", buf);}close(Client_fd); //关闭双向通信 //int shutdown(int socketfd, int howto) TCP连接是双向的(是可读写的),当我们使用close时,会把读写通道都关闭,有时候我们只希望关闭一个方向,这个时候可以使用shutdown
//howto=0 关闭读通道 howto=1关闭写通道 howto=2同closereturn 0;}
0 0
- TCP客户端
- tcp客户端
- TCP客户端
- TCP客户端
- TCP客户端
- TCP 客户端
- TCP客户端
- TCP 客户端 流程如下
- 客户端TCP实现简介
- TCP服务器/客户端
- 简单的TCP客户端
- tcp客户端示例
- TCP服务端与客户端
- Socket TCP 客户端
- C#的TCP客户端
- tcp网络客户端程序
- 启动TCP Socket客户端
- TCP服务器/客户端程序
- 第10周项目2 二叉树遍历的递归算法
- angularjs学习笔记(1)
- 建造者模式的多层次理解
- python android 开发
- android studio调试的时候设置是真机还是模拟器
- TCP客户端
- 重做日志文件丢失导致无法打开数据库
- mysql 动态行转列
- Redis Windows下service操作
- 第十周 项目1 二叉树算法库
- CSS loading 正在加载画面
- Linux crontab定时执行任务 命令格式与详细例子
- 基于频域的信息加密----傅里叶变换
- 第八周项目2 建立链串的算法库