没有合适的资源?快使用搜索试试~ 我知道了~
首页Windows和Linux进行socket通信
在公司里面,我们平时使用的机器一般都是windows系统,但是开发、编译的机器往往是linux服务器。通过ping、ftp、samba、telnet、ssh,人们可以很方便与服务器连接。windows系统使用的是windows socket,而linux使用的posix socket,那么这两个socket之间是怎么通信的呢?网上关于windows与windows通信的代码很多,linux与linux通信的代码也很多,但是windows和linux通信的代码很少。这里,我想写一个简单的socket代码,实现linux和windows的通信。 其实,广义一点看,网页访问、邮箱、游戏、聊天
资源详情
资源评论
资源推荐

Windows和和Linux进行进行socket通信通信
在公司里面,我们平时使用的机器一般都是windows系统,但是开发、编译的机器往往是linux服务器。通过ping、ftp、
samba、telnet、ssh,人们可以很方便与服务器连接。windows系统使用的是windows socket,而linux使用的posix socket,
那么这两个socket之间是怎么通信的呢?网上关于windows与windows通信的代码很多,linux与linux通信的代码也很多,但是
windows和linux通信的代码很少。这里,我想写一个简单的socket代码,实现linux和windows的通信。
其实,广义一点看,网页访问、邮箱、游戏、聊天工具都是利用socket实现的,当然后面实现的逻辑要比我们写的代码复
杂的多。但是,我们完全可以利用简单的代码来说明socket通信问题,能做到这一点足够了。这也是我一直推崇的方法,用简
单的代码表达实际的功能。
windows侧的client代码,
#include <stdio.h>
#include <Windows.h>
#pragma comment(lib,"ws2_32.lib")
#define PORT 4000
#define IP_ADDRESS "192.168.1.102"
int main(int argc, char* argv[])
{
WSADATA Ws;
SOCKET CientSocket;
struct sockaddr_in ClientAddr;
int Ret = 0;
char SendBuffer[MAX_PATH];
/* Init Windows Socket */
if ( WSAStartup(MAKEWORD(2,2), &Ws) != 0 )
{
printf("Init Windows Socket Failed::%d
", GetLastError());
return -1;
}
/* Create Socket */
CientSocket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
if ( CientSocket == INVALID_SOCKET )
{
printf("Create Socket Failed::%d
", GetLastError());
return -1;
}
ClientAddr.sin_family = AF_INET;
ClientAddr.sin_addr.s_addr = inet_addr(IP_ADDRESS);
ClientAddr.sin_port = htons(PORT);
memset(ClientAddr.sin_zero, 0x00, 8);
/* connect socket */
Ret = connect(CientSocket,(struct sockaddr*)&ClientAddr, sizeof(ClientAddr));
if ( Ret == SOCKET_ERROR )
{
printf("Connect Error::%d
", GetLastError());
return -1;
}
else
{
printf("Connect succedded!
");
}
while (1)
{
scanf("%s", SendBuffer);
/* send data to server */












安全验证
文档复制为VIP权益,开通VIP直接复制

评论0