Windows tcp客户端程序 设置非阻塞
来源:互联网 发布:手机电销软件 编辑:程序博客网 时间:2024/06/07 17:59
Windows tcp client 非阻塞
// tcpclienttest.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
//TCP client
//client send string to server
//Visual C++ 6.0
#include <windows.h>
#include <stdio.h>
//#include <winsock2.h>
//tcp头文件
#include <cstdlib>
#pragma comment(lib,"ws2_32.lib")
int _tmain(int argc, _TCHAR* argv[])
{
SOCKET soc;
SOCKADDR_IN serveraddr;
SOCKADDR_IN clientaddr;
int flags;
char buf[1024];
memset(buf,0,sizeof(buf));
//strcpy_s(buf,"testtest123");
WSADATA wsa;
WSAStartup(MAKEWORD(1,1),&wsa); //initial Ws2_32.dll by a process
if((soc = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP)) <= 0) //create a tcp socket
{
printf("Create socket fail!\n");
return -1;
}
//printf("set socket:%d",ret);
serveraddr.sin_family = AF_INET;
serveraddr.sin_port = htons(9159);
serveraddr.sin_addr.S_un.S_addr = inet_addr("192.168.100.22");
//connect to server
printf("Try to connect...\n");
if(connect(soc, (SOCKADDR *)&serveraddr, sizeof(serveraddr)) != 0)
{
printf("Connect fail!\n");
getchar();
return -1;
}
//设置非阻塞
unsigned long ul=1;
int ret=ioctlsocket(soc,FIONBIO,(unsigned long *)&ul);//设置成非阻塞模式。
if(ret==SOCKET_ERROR)//设置失败。
{
printf("set fail\n");
}
printf("Connected success\n");
while(1)
{
//scanf_s("%s", buf);
//strcpy_s(buf,"123");
//send to server
//if(send(soc, buf, strlen(buf)+1, 0)<=0)
//{
// printf("Error!\n");
//}
if (recv(soc, buf, 1024, 0)<=0)
{
printf("RevFail\n");
}
printf("%s len:%d\n",buf,strlen(buf));
memset(buf,0,sizeof(buf));
//Sleep(1000);
Sleep(1000);
}
WSACleanup(); //clean up Ws2_32.dll
return 0;
}
附件为网络测试程序;可作为tcp客户端服务端,及udp服务器客户端。可以与之建立连接通信
0 0
- Windows tcp客户端程序 设置非阻塞
- 非阻塞式TCP 服务器/客户端 基础
- Winsocket入门教程二:非阻塞式服务器和客户端程序(TCP)
- UNIX网络编程卷1 时间获取程序客户端 TCP 使用非阻塞connect
- TCP socket 非阻塞
- TCP客户端阻塞方式
- Winsocket 三:非阻塞server&client程序(tcp)
- 阻塞非阻塞socket设置
- 阻塞与非阻塞设置
- socket设置为非阻塞方式(windows和linux)
- socket 设置非阻塞
- socket 设置非阻塞
- windows socket 非阻塞
- Winsocket入门教程一:多线程阻塞式服务器和阻塞式客户端程序(TCP)
- TCP.普通socket(阻塞/非阻塞)模型
- TCP send 阻塞与非阻塞
- tcp socket阻塞与非阻塞
- TCP非阻塞socket编程
- android中getSystemService详解
- Android中创建so库存储密钥,NDK环境搭建与jni介绍
- Git—创建版本库
- iOS对象方法和类方法的区别与调用方式
- arttemplate 讀取map轉成的json數據
- Windows tcp客户端程序 设置非阻塞
- MediaCodec sample code
- using 三种使用方式
- 在客户端程序中使用OpenSSL来实现HTTPS在证书认证上的一些分析
- 数据结构之HashMap的实现
- Linux学习总结(四)——标准I/O与文件I/O
- 工资计算-CCF往届题
- Altium Designer入门
- 移动H5开发基础