windows和linux进行socket通讯问题(高手请进!)
我服务器端采用的是linux,客户端在windows下,进行socket通讯,一直不能连接上,但是在linux下面写个测试程序可以与该服务器端程序连接,但是windows下就不能连接上,这是什么原因?
linux与windows通讯要注意些什么问题,是不是要设置什么东西呀?高手帮忙给点意见,由于代码太长,就不粘贴出来了,不胜感激!!!
问题点数:20、回复次数:8Top
1 楼iamwindywolf(疾风之狼)回复于 2005-04-26 23:17:38 得分 0
socket的版本不同?连接肯定是连接的上的,你看ping大家都ping的通嘛.Top
2 楼zwlzwlzwl()回复于 2005-04-27 00:02:03 得分 0
可以ping通Top
3 楼NC(比尔.盖饭)回复于 2005-04-27 03:03:14 得分 20
你在windows下试试 telnet linux机器的ip 服务端程序守护的端口 (即若你的linux机器的IP为100.100.100.100,端口为8000 , 则 telnet 100.100.100.100 8000 ,再到linux机器上用netstat -a|grep 8000 看看状态是否为established ,若是则通 )
看能不能连通,能连的话估计问题出在client端的程序有问题。Top
4 楼Benni()回复于 2005-04-27 09:33:43 得分 0
我也遇到这个问题(启动Apache之后, 本机可以访问, 别的计算机都不能访问), 后来给搞出来了, 大致的问题有以下两个:
1, 防火墙. 建议你把防火墙关掉试试, 由于linux默认安装是安装并启动防火墙的, 所以你一旦自己设了一个服务器端口的话, 外部的连接很有可能就被防火墙干掉了.
2, 网络服务.Linux有些网络服务必须启动之后, 才能让外部连接进来, 具体是哪些, 我也记不得了, 反正我把看上去有关系的都开启了,外部就可以访问本机的Apache了
祝你好运.Top
5 楼localhero(小熊在线)回复于 2005-04-27 09:51:27 得分 0
ACE通讯组件中的run_work()与run_master()两个函数的作用到底是什么???请大师给予详细解答!!!!谢谢
ACE属于开源项目,它是一个支持多种平台通讯组件, 它封装了socket的全部操作, 并扩展了很多功能.......
上面小弟提出的那个问题比较棘手, 搞不太清楚它们俩之间的关系, 我在作一个linux上的基于ACE的服务器端的通讯组件, 不知在服务器端是否就不在需要run_master()这个函数,只用run_work()这个函数就够了???(有位业内人士可以,他说linux下的服务器端run_work()这函数没用!!!我很是纳闷,搞不清楚)特此请教大师, 希望前辈能帮我这个大忙!!!!!多谢!!!!
Top
6 楼ysdesigned(清泉)回复于 2005-04-27 14:46:23 得分 0
这种socket通讯有什么好封装的,建议要想学好的人就直接用socket
linux与windows通讯没什么特别要注意的应为协议是一样的
Top
7 楼xinzhaolei(小心)回复于 2005-04-27 16:54:22 得分 0
双向ping都没问题吗?
Benni() 说的有可能是正确方向!Top
8 楼dyoldfish(老鱼)回复于 2005-04-27 19:42:06 得分 0
你把那些相关的服务打开看看Top




