作者a39189 (Billups)
看板java
标题[问题] Socket传送讯息
时间Fri Apr 22 21:33:10 2011
请教版上各位高手
我在写TCPClient的时候发现了一个很奇怪的问题
再送讯息的时候 明明是同样的程式码(我将传送讯息写成一个method)
可是在不同的区域底下 一个Server端收的到讯息
另一个从外部呼叫的 Server却收不到
这是什麽问题呢??? 有请版上各位帮我解惑了
我抓了这个虫抓了快一天.....
程式码如下
public Boolean connectServer( String ServerIp )throws Exception{
System.out.println("Connecting To Server... ");
InetAddress IP = InetAddress.getByName(ServerIp);
Client = new Socket ( IP , Port );
if(!Client.isConnected()){
assert Client.isConnected()==false;
System.out.println("Connection failed");
}
//会成功送到Server端的片段
try{
sendToServer("Message");
}
catch(Exception e){
}
return Client.isConnected();
}
//Send message to TCP Server
private void sendToServer(String Message){
//Assertion for TCP connection
if(!Client.isConnected()){
assert Client.isConnected();
System.out.println("Connection Failed");
}else{
System.out.println("Connection work");
}
try{
DataOutputStream outToServer = new
DataOutputStream(Client.getOutputStream());
outToServer.writeBytes(Message+ "Client 1 \n");
System.out.println("Sending '"+Message+"'");
}catch(IOException e){
}
}
.
.
.
.
.
.
public static void main(String args[])
{
try{
TCPClient test = new TCPClient();
test.connectServer("localhost")
//这行Server端却收不到
test.inputMoves("Fail");
}catch(Exception e){
System.out.println(e);
}
}
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.115.217.47
※ 编辑: a39189 来自: 140.115.217.47 (04/22 21:33)
1F:→ james732:output stream 加个 flush() 之类的试试? 04/22 21:41
2F:→ james732:在程式结束的时候,该呼叫 close() 的都要呼叫 04/22 21:42
3F:推 cyclone350:这问题...我也有耶,我只知道问题在哪,怎麽解决,但是 05/06 19:50