社区
通信技术
帖子详情
linux与windows通信
shuaiying
2008-01-09 11:15:26
在linux上用C编写循环服务器,在windows中用MFC建立客户端,相互间不能连接,客户端报告连接错误.在Linux下两者能通信,同样在windows下两者也能通信,为什么?
...全文
71
5
打赏
收藏
linux与windows通信
在linux上用C编写循环服务器,在windows中用MFC建立客户端,相互间不能连接,客户端报告连接错误.在Linux下两者能通信,同样在windows下两者也能通信,为什么?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
shuaiying
2008-01-10
打赏
举报
回复
windows下主要代码:
void CLCDlg::OnConnectServer()
{
// TODO: Add your control notification handler code here
createSock();
if(connect(sock,(struct sockaddr*)&serverAddr,sizeof(serverAddr)))
{
AfxMessageBox("connect error");
return ;
}
}
void CLCDlg::OnSend()
{
// TODO: Add your control notification handler code here
CString str="hello";
int len;
len=send(sock,str,sizeof(str),0);
}
DWORD CLCDlg::startScok()
{
serverAddr.sin_family=AF_INET;
serverAddr.sin_addr.s_addr=inet_addr("159.226.75.221");
serverAddr.sin_port=htons(5790);
return 1;
}
DWORD CLCDlg::createSock()
{
sock=socket(AF_INET,SOCK_STREAM,0);
if(sock==INVALID_SOCKET)
{
AfxMessageBox("Wrong");
return -1;
}
return 1;
}
void CLCDlg::OnClose()
{
closesocket(sock) ;
}
*********************************************
Linux下主要代码:
#include <string.h>
#include <sys/types.h>
#include <netinet/in.h>
#include <sys/socket.h>
#include <stdio.h>
#define SERVER_PORT 5790
main()
{
int sockfd;
int connfd;
int namelen;
int n;
int bindflag;
struct sockaddr_in my_addr;
sockfd=socket(AF_INET,SOCK_STREAM,0);
if(sockfd<0)
{
fprintf(stderr,"socket error!\n");
exit(1);
}
my_addr.sin_family=AF_INET;
my_addr.sin_port=htons(SERVER_PORT);
my_addr.sin_addr.s_addr=INADDR_ANY;
bzero(&(my_addr.sin_zero),8);
bindflag=bind(sockfd,(struct sockaddr*)&my_addr,sizeof(struct sockaddr));
if(bindflag<0)
{
fprintf(stderr,"bind error!\n");
exit(2);
}
if(listen(sockfd,2)<0)
{
fprintf(stderr,"listen error!\n");
exit(3);
}
namelen=sizeof(my_addr);
while(1)
{
connfd=accept(sockfd,(struct sockaddr*)&my_addr,&namelen);
if(connfd<0)
{
fprintf(stderr,"accept error!\n");
exit(4);
}
printf("ip\n");
if((n=fork())==0)
{
char buff[1024];
close(sockfd);
n=read(connfd,buff,1024);
printf("%s\n",buff);
close(connfd);
exit(0);
}
else if(n<0)
printf("Fork Error.\n");
close(connfd);
}
}
ckc
2008-01-10
打赏
举报
回复
2楼说的有一定道理,有可能是编译器在细节上不一致
captain_x
2008-01-10
打赏
举报
回复
windows下不用cstring,直接用char试试
captain_x
2008-01-09
打赏
举报
回复
可能是字节对齐的问题,导致数据不一致
超龄编码人
2008-01-09
打赏
举报
回复
代码发上来
Synapse TCP/IP Library v24一套
通信
类和函数库
Synapse TCP/IP Library具有以下特点: Synapse不是控件,而是一套类和函数库,因此不需要任何安装; Synapse支持
Windows
下的Delphi、CBuilder和
Linux
下的Kylix; 支持Winsock或基于阻塞模式的Libc通讯,支持TCP、UDP、ICMP和RAW协议; 支持ASN.1编码和解码; 支持DNS; 支持标准ISO编码(ISO-8859-x),
Windows
编码(CP-125x),KOI8-R和Unicode(UCS-4, UCS-2, UTF-7 and UTF-8); 支持MIME编码和解码(包括字符转换); 支持SMTP和ESMTP协议 支持HTTP 0.9、1.0和1.1协议; 支持SNMP协议; 支持NTP和SNTP协议; 支持POP3协议; 支持Base64和Quoted-pritable编码与解码; 支持UUCode和XXCode解码; ………… 完整功能. 源代码: 有 适用于 CB3 CB4 CB5 D2 D3 D4 D5 D6 K1
windows
主机和
linux
主机互相
通信
。
实验环境:一台window:192.168.0.100 一台
linux
:192.168.0.120 实验内容:
windows
主机和
linux
主机互相
通信
。 实验步骤: 1.设置虚拟机的联网模式 2.配置CentOS7的IP地址,通过修改配置文件完成 cd /etc/sysconfig/network-scripts ls (找到可用的网卡名为ens33) vi ifcfg-ens33(添加或修改如下代码) DEVICE=设备名 ONBOOT=yes(启用) BOOTPROTO=s.
VMware虚拟机安装及
Windows
/
Linux
安装配置实战
VMware虚拟机安装及
Windows
/
Linux
/Ubuntu安装配置实战 学会安装VMware,熟练安装
Windows
虚拟机,熟练安装
Linux
虚拟机,Ubuntu虚拟机。 学会使用VMware Tools并了解Tools的优势 学会
Linux
/Ubuntu简单的基础配置命令 ...
用socket实现
Linux
和
Windows
之间的
通信
转载自: https://blog.csdn.net/liyuefeilong/article/details/47265153 在日常生活中,绝大部分人使用的机器一般是
windows
系统,但是对于研发人员,开发、编译等工作往往是建立在
linux
机器上。事实上,在服...
linux
和
windows
通过网口
通信
,小练习:用socket实现
Linux
和
Windows
之间的
通信
在日常生活中,绝大部分人使用的机器通常是
windows
系统,可是对于研发人员,开发、编译等工作往往是建立在
linux
机器上。其实。在服务器方面,
Linux
、UNIX和
Windows
Server占领了市场的大部分份额;在超级计算机方面,
Linux
代替Unix成为了第一大操作系统。
通信
是计算机和操作系统的一大任务,通过ftp、ping、ssh等方式。人们能够非常方便与服务器连接。一个庞大的网络上的两个...
通信技术
4,358
社区成员
28,927
社区内容
发帖
与我相关
我的任务
通信技术
通信技术相关讨论
复制链接
扫一扫
分享
社区描述
通信技术相关讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章