Cygwin下结果:
connect() 127
Transport endpoint is already connected
VC8下结果:
connect() 10022
No error
Linux 2.6.27下结果:
connect() 106
Transport endpoint is already connected
/*
作者:张亚霏
2008-12-09早
*/
#if defined WIN32 || defined _WIN32
#include <stdio.h>
#include <winsock2.h>
#pragma comment(lib, "ws2_32.lib")
int init_net()
{
WSADATA wsa_data;
return 0 != WSAStartup(MAKEWORD(2,2), &wsa_data);
}
void uninit_net()
{
WSACleanup();
}
int close_socket(SOCKET s)
{
return closesocket(s);
}
int get_last_error()
{
return WSAGetLastError();
}
#else
#include <stdio.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <unistd.h>
#include <netdb.h>
#include <errno.h>
int init_net()
{
return 1;
}
void uninit_net()
{
}
typedef int SOCKET;
int close_socket(SOCKET s)
{
return close(s);
}
int get_last_error()
{
return errno;
}
#endif
#define BUFFER_SIZE 1024
#define DEST_ADDRESS "127.0.0.1"
#define DEST_PORT 27015//1037
int main()
{
int recv_buf_size = 1024;
SOCKET send_socket;
struct sockaddr_in recv_addr;
char send_buf[BUFFER_SIZE];
char recv_buf[BUFFER_SIZE];
int ret;
fd_set read_set;
struct timeval time_out;
init_net();
send_socket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
recv_addr.sin_family = AF_INET;
recv_addr.sin_port = htons(DEST_PORT);
recv_addr.sin_addr.s_addr = inet_addr(DEST_ADDRESS);
ret = bind(send_socket, (struct sockaddr*) &recv_addr, sizeof(recv_addr));
if(ret == -1)
{
printf("bind() %d\n", get_last_error());
perror(NULL);
}
ret = listen(send_socket, 5);
if(ret == -1)
{
printf("listen() %d\n", get_last_error());
perror(NULL);
}
recv_addr.sin_family = AF_INET;
recv_addr.sin_port = htons(DEST_PORT);
recv_addr.sin_addr.s_addr = inet_addr(DEST_ADDRESS);
ret = connect(send_socket, (struct sockaddr*) &recv_addr, sizeof(recv_addr));
if(ret == -1)
{
printf("connect() %d\n", get_last_error());
perror(NULL);
}
close_socket(send_socket);
uninit_net();
return 0;
}
分享到:
相关推荐
flashfxp支持连接windows、linux服务器
1.多平台支持Windows,Mac OS X,Linux 2.多标签,批量服务器管理. 3.支持登录Ssh和Windows远程桌面. 4.漂亮的平滑字体显示,内置100多个配色方案. 5.shell,sftp同屏显示,同步切换目录. 6.命令自动提示,智能匹配,输入更...
xshell(windows远程连接Linux)xshell(windows远程连接Linux)xshell(windows远程连接Linux)xshell(windows远程连接Linux)
windows、linux操作系统下都可以运行的SQLITE远程服务器。 只要在WINDOWS下运行sqlitemanage.exe就可以统一管理WINDOWS及LINUX平台下的SQLITE数据库,功能强大。 服务器运行方法: 1、WINDOWS下只要在数据库所在目录...
Secure[1] CRT是一款支持SSH(SSH1和SSH2)的终端仿真程序,简单地说是Windows下登录UNIX或Linux服务器主机的软件。SecureCRT支持SSH,同时支持Telnet和rlogin协议。SecureCRT是一款用于连接运行包括Windows、UNIX和...
一个在windows平台下就可以连接到linux平台的工具,自带文件上传功能,支持几乎所有windows平台和linux平台!
winscp windows下的shell,支持远程连接linux,ftp、sftp、scp等
跨平台的最轻量级socket的c++库,支持windows,linux,solaris-cross-platform of the most lightweight c socket library, support for Windows, Linux, Solaris
1.多平台支持Windows,Mac OS X,Linux 2.多标签,批量服务器管理. 3.支持登录Ssh和Windows远程桌面. 4.漂亮的平滑字体显示,内置100多个配色方案. 5.shell,sftp同屏显示,同步切换目录. 6.命令自动提示,智能匹配,输入更...
SecureCRT是一款支持SSH(SSH1和SSH2)的终端仿真程序,简单地说是Windows下登录UNIX或Linux服务器主机的软件。 SecureCRT支持SSH,同时支持Telnet和rlogin协议。SecureCRT是一款用于连接运行包括Windows、UNIX和VMS...
提供两个版本:windows平台和linux平台下运行 注意:linux版本使用GCC编译连接运行 1. cd到source code目录 2.1 使用compile_shell shell script编译连接:./compile_shell 2.2 使用Makefile文件 编译连接:make 3. ...
同时支持 GNU/Linux ,Windows 和 MacOS 三大主流桌面平台。 它专注于: 精致 (仅显示设备屏幕) 性能 (30~60fps) 质量 (1920×1080以上) 低延迟 (35~70ms) 快速启动 (1s 内就可以看到第一帧图像) 非侵入性 (不在设备...
SecureCRT是一款用于连接运行包括Windows、UNIX和VMS的远程系统的理想工具。通过使用内含的VCP命令行程序可以进行加密文件的传输。有流行CRTTelnet客户机的所有特点,包括:自动注册、对不同主机保持不同的特性、打印...
PuTTY是一套免费的SSH/Telnet程序,它可以连接上支持SSH Telnet联机的站台,并且可自动取得对方的系统指纹码(Fingerprint)。建立联机以后,所有的通讯内容都是以加密的方式传输,因此你再也不用害怕使用Telnet在...
支持监控windows系列:Windows Server 2008 R2 2012 , 2016 , 2019, Windows 7, Windows 8, windows 10 ,windows 11 支持监控UNIX系列:Solaris、FreeBSD、OpenBSD…… 支持监控Mac OS系列:Mac OS AMD64
linux连接工具,3种,亲测都可以使用,各有特色优点, linux连接工具 SSH SecureShell:SSH是一个用来替代TELNET、FTP以及R命令的工具包. vnc viewer:是一种远程控制的软件,远端的机器开启vnc的server之后,本地就可以...
SecureCRT是一款用于连接运行包括Windows、UNIX和VMS的远程系统的理想工具。通过使用内含的VCP命令行程序可以进行加密文件的传输。有流行CRTTelnet客户机的所有特点,包括:自动注册、对不同主机保持不同的特性、打印...
本人经过putty+xming等多方尝试,感觉这种做法太复杂,容易出错,最终用vnc一步搞定,下面有vnc安装程序,有连接linux显示桌面的方法,我连的是中标5.0桌面, 1 对于中标 先在 开始-系统-首选项-互联网和网络-远程...
我们许多人都知道Redis是非常优秀的内存数据库,可是官方不支持Windows,仅支持Linux操作系统,为了能够让广大程序员朋友们享受到这一福利,本人想尽各种办法,使用msys环境构建了一套gcc编译环境,下载Redis的源码...
Linux是一个优秀的操作系统,它支持多用户、多进程和多线程,实时性好,功能强大而稳定。Linux标榜自由和开放。简单的说,开源,免费。更重要的是完全DIY。 普及Linux电子书籍。开始Linux之旅的难点在哪?就是...