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;
}
分享到:
相关推荐
在IT行业中,Linux和Windows是两种广泛使用的操作系统。尽管它们有着不同的系统内核和界面,但有时我们需要在Linux环境中访问Windows系统的资源,特别是在需要管理Windows服务器或者进行跨平台协作时。"Linux下远程...
"支持连接Windows、Linux服务器"这一特性意味着FlashFXP不仅能够与运行Windows操作系统的服务器建立连接,还能够无缝对接到基于Linux内核的服务器系统。 在Windows环境中,FlashFXP通过标准的FTP、FTPS(FTP over ...
在IT领域,跨平台的远程桌面连接是一种常见需求,特别是在Linux和Windows系统并存的环境中。本主题将详细探讨如何使用Linux系统进行远程连接到Windows桌面。标题中的"Linux远程连接Windows桌面"指的是利用特定的工具...
本文将详细介绍两种常用的Windows远程连接Linux工具:PuTTY和WinSCP。 PuTTY是一款免费且开源的SSH(Secure Shell)客户端,它支持多种网络协议,包括SSH、Telnet和Rlogin。以下是如何使用PuTTY进行远程连接的步骤...
7. **SSL/TLS加密**:如果需要安全通讯,可以使用OpenSSL库,它在Linux和Windows上都有支持,提供SSL/TLS加密。 通过以上要点,开发者可以构建起Linux和Windows之间的安全、可靠的网络通信系统。无论是C还是C++,...
虽然这与我们的主题——Windows与Linux连接工具—不太相关,但如果你在工作之余需要放松一下,可以访问该网站寻找娱乐。 总的来说,WinSCP作为Windows与Linux之间的桥梁,提供了安全、直观的文件管理体验。配合正确...
它们都能连接到任何运行VNC服务器的设备,无论该设备是Linux还是Windows。 5. **安全考虑**: - 使用强密码保护VNC服务器,避免使用默认密码。 - 考虑使用SSL/TLS加密连接,提高数据传输的安全性。 - 在公共网络...
总的来说,VNC Viewer是Windows连接Linux图形界面的重要工具,通过它,用户可以在本地Windows环境下高效地管理和操作远程Linux系统,极大地提高了跨平台工作的便利性。不过,需要注意的是,虽然VNC提供了便捷的远程...
xshell(windows远程连接Linux)xshell(windows远程连接Linux)xshell(windows远程连接Linux)xshell(windows远程连接Linux)
1.多平台支持Windows,Mac OS X,Linux 2.多标签,批量服务器管理. 3.支持登录Ssh和Windows远程桌面. 4.漂亮的平滑字体显示,内置100多个配色方案. 5.shell,sftp同屏显示,同步切换目录. 6.命令自动提示,智能匹配,输入更...
SecureCRT是一款强大的Windows平台下远程访问工具,专用于连接Linux和其他UNIX系统,它以其丰富的功能和高度可定制性,成为了IT专业人士在Windows环境下操作Linux服务器的首选工具。相较于Putty,SecureCRT提供了更...
对于跨平台支持,Tomcat在Windows和Linux上表现一致,这是因为其基于Java的特性,使得它可以在任何安装了Java运行环境(JRE)的操作系统上运行。不过,需要注意的是,Windows和Linux在文件路径、权限控制、环境变量...
无论是Windows还是Linux操作系统,其下的USB驱动都需要遵循统一的USB协议来进行设备识别和数据传输。 ##### 1.1 USB协议特点 - **通用性**:支持多种类型的设备,如键盘、鼠标、存储设备等。 - **热插拔**:支持...
《连接你的Linux和Windows》这份资源主要探讨了不同操作系统之间的网络互连,特别是Linux和Windows的互联互通技术。网络互连是信息技术发展的重要驱动力,它不仅涵盖了大型网络间的交互,如固定电话网、移动电话网、...
总之,PuTTY作为一款轻量级且强大的远程连接工具,极大地便利了Windows用户对Linux服务器的管理和操作,无论是初学者还是专业人士,都能从中受益。通过熟悉其基本操作和高级功能,用户可以更加高效地进行远程工作。
总的来说,通过PPP协议,Linux和Windows CE之间的网络连接提供了一种经济高效的方式,使不同平台的设备能够共享数据和资源,扩展了它们的功能和协作能力。这对于那些需要在不同系统间进行数据交换的场景,如嵌入式...
本文将详细介绍FlashFXP的功能、使用方法以及如何在Linux和Windows之间进行文件传输。 FlashFXP提供了直观的用户界面,使得文件传输操作对新手也十分友好。它的主要特点包括: 1. **多平台支持**:FlashFXP不仅...
- 在Windows客户端,使用`cvsnt-2.5.03.2151安装包.msi`安装CVSNT,这是一个增强版的CVS客户端,支持更多的功能和特性。 - 阅读`注意事项.txt`文件,了解可能遇到的问题和解决方案。 - 对于安全性,考虑使用SSL/TLS...
Linux下安装FreeRDP连接Windows远程桌面的好软件软件 在Linux系统中,连接Windows远程桌面一直是一个难题,特别是在Linux系统中没有类似微软远程桌面的东西。VNC是一个选择,但是VNC却不能连接Windows的远程桌面。...
总的来说,PuTTY是Windows用户连接Linux服务器的重要工具,它提供了安全、便捷的远程访问方式,是IT管理员和开发者日常工作中不可或缺的助手。无论你是初次接触还是资深用户,理解并熟练掌握PuTTY的各项功能将极大地...