当前位置: 技术问答>linux和unix
我写了基于SOCKET的LINUX与WIN的编程,但始终连不上???
来源: 互联网 发布时间:2015-03-28
本文导语: 如题我在WIN98下用VC++写的 用的是AF_INET的协议端口是2350 在LINUX同样是这个 但是连不通(我把防火墙设置为无) 请问是程序的问题还是网络设置的问题(我用PING 可以有反应) c: server_socked = socket(AF_INET,SOCK_STREAM,); ...
如题我在WIN98下用VC++写的
用的是AF_INET的协议端口是2350
在LINUX同样是这个
但是连不通(我把防火墙设置为无)
请问是程序的问题还是网络设置的问题(我用PING 可以有反应)
c:
server_socked = socket(AF_INET,SOCK_STREAM,);
struct sockaddrer_in server_address;
struct sockaddres_in client_address;
server_address.sin_family = AF_INET;
bind(server_sockfd,(struct sockaddr *) & server_address,server_len);// server_len是长度
listen(server_sockfd,5);
while(1)
{
char ch;
client_sockfd = accept(server_sockfd,(struct sockaddr *) &client_address,client_len);
read(client_sockfd,&ch,1);
write(client_sockfd,&ch,1);
close(client_sockfd);
....
VC:
其他没什么变化
只是
ret = connect(m_hsocket,(lpsockaddr)&m_addr,sizeof(m_addr));
if (ret == sockaddr_error)
{if....//如果错误是无法连接就出现对话框“无法连接”
出错的地方始终是这里
请问怎么办啊?
用的是AF_INET的协议端口是2350
在LINUX同样是这个
但是连不通(我把防火墙设置为无)
请问是程序的问题还是网络设置的问题(我用PING 可以有反应)
c:
server_socked = socket(AF_INET,SOCK_STREAM,);
struct sockaddrer_in server_address;
struct sockaddres_in client_address;
server_address.sin_family = AF_INET;
bind(server_sockfd,(struct sockaddr *) & server_address,server_len);// server_len是长度
listen(server_sockfd,5);
while(1)
{
char ch;
client_sockfd = accept(server_sockfd,(struct sockaddr *) &client_address,client_len);
read(client_sockfd,&ch,1);
write(client_sockfd,&ch,1);
close(client_sockfd);
....
VC:
其他没什么变化
只是
ret = connect(m_hsocket,(lpsockaddr)&m_addr,sizeof(m_addr));
if (ret == sockaddr_error)
{if....//如果错误是无法连接就出现对话框“无法连接”
出错的地方始终是这里
请问怎么办啊?
|
初始化你的server_address时,加上下面三句话试试看:
server_address.sin_port = htons(2350); /* short, network byte order */
server_address.sin_addr.s_addr = INADDR_ANY; /* my IP */
bzero(&(server_address.sin_zero), 8); /* zero the rest of the struct */
server_address.sin_port = htons(2350); /* short, network byte order */
server_address.sin_addr.s_addr = INADDR_ANY; /* my IP */
bzero(&(server_address.sin_zero), 8); /* zero the rest of the struct */
|
你的server端没有设置port