当前位置: 技术问答>java相关
请教:利用socket通讯时,为何两边都无法读到数据????
来源: 互联网 发布时间:2015-06-01
本文导语: 我写的一个客户端程序与一个服务器通讯 当我将该客户端程序运行在两个windows的机器上时,都可以顺利的和服务器端通讯,从流中读写数据都正常。 当我将该程序放在一个unix主机上时,就不可以读写数据,从建立...
我写的一个客户端程序与一个服务器通讯
当我将该客户端程序运行在两个windows的机器上时,都可以顺利的和服务器端通讯,从流中读写数据都正常。
当我将该程序放在一个unix主机上时,就不可以读写数据,从建立连接到读写数据都没有出错,只是读从服务器端返回的数据为空,服务器端也没有任何接收到数据的迹象。
为什么,首先所有的网络都是通的,我ping过。
不知与unix的用户权限是否有关!
请各位大虾指教!!
通讯程序如下:public class SMSClient
{
String hostIP;
int hostPort;
BufferedReader socketReader;
PrintWriter socketWriter;
Socket connect;
SMSDBHelper dbHelper;
Properties proConfig;
// int iSendCount;
public SMSClient()
{
//System.out.println("init smsclient");
proConfig = PropertyReader.getProperties("sms.conf");
dbHelper = new SMSDBHelper(proConfig);
hostIP = proConfig.getProperty("RemoteServer.IP");
hostPort = Integer.parseInt(proConfig.getProperty("RemoteServer.Port"));
//iSendCount=Integer.parseInt(proConfig.getProperty("SendCount"));
// System.out.println("init completed");
}
public SMSClient(String aHostIp, int aHostPort)
{
proConfig = PropertyReader.getProperties("sms.conf");
dbHelper = new SMSDBHelper(proConfig);
hostIP = aHostIp;
hostPort = aHostPort;
}
public SMSDBHelper getDbHelper()
{
return dbHelper;
}
public static void main(String[] args)
{
String sMsg="",s="",sReturn="",sSerialNo="";
System.out.println("1");
SMSMsgHelper msgHelper= new SMSMsgHelper();
System.out.println("2");
int i=1;
int iSendCount=5;
System.out.println("3");
sMsg= msgHelper.getSendMsg();
System.out.println("msg:"+sMsg);
if (!sMsg.equals(""))
{
SMSClient client = new SMSClient();
while (!s.equals("0") && i
当我将该客户端程序运行在两个windows的机器上时,都可以顺利的和服务器端通讯,从流中读写数据都正常。
当我将该程序放在一个unix主机上时,就不可以读写数据,从建立连接到读写数据都没有出错,只是读从服务器端返回的数据为空,服务器端也没有任何接收到数据的迹象。
为什么,首先所有的网络都是通的,我ping过。
不知与unix的用户权限是否有关!
请各位大虾指教!!
通讯程序如下:public class SMSClient
{
String hostIP;
int hostPort;
BufferedReader socketReader;
PrintWriter socketWriter;
Socket connect;
SMSDBHelper dbHelper;
Properties proConfig;
// int iSendCount;
public SMSClient()
{
//System.out.println("init smsclient");
proConfig = PropertyReader.getProperties("sms.conf");
dbHelper = new SMSDBHelper(proConfig);
hostIP = proConfig.getProperty("RemoteServer.IP");
hostPort = Integer.parseInt(proConfig.getProperty("RemoteServer.Port"));
//iSendCount=Integer.parseInt(proConfig.getProperty("SendCount"));
// System.out.println("init completed");
}
public SMSClient(String aHostIp, int aHostPort)
{
proConfig = PropertyReader.getProperties("sms.conf");
dbHelper = new SMSDBHelper(proConfig);
hostIP = aHostIp;
hostPort = aHostPort;
}
public SMSDBHelper getDbHelper()
{
return dbHelper;
}
public static void main(String[] args)
{
String sMsg="",s="",sReturn="",sSerialNo="";
System.out.println("1");
SMSMsgHelper msgHelper= new SMSMsgHelper();
System.out.println("2");
int i=1;
int iSendCount=5;
System.out.println("3");
sMsg= msgHelper.getSendMsg();
System.out.println("msg:"+sMsg);
if (!sMsg.equals(""))
{
SMSClient client = new SMSClient();
while (!s.equals("0") && i