_socket = new Socket (host, port);
System.out.println(new BufferedReader(new InputStreamReader(_socket.getInputStream())).readLine());
就最后一句出错了
对我有用[0] 丢个板砖[0] 引用 举报 管理 TOP 回复次数:10
yuzl32
(有酒醉)
等 级:
2
#1楼 得分:0回复于:2006-01-10 10:50:23你每使用完连接后有没有关闭?
对我有用[0] 丢个板砖[0] 引用 举报 管理 TOP 精华推荐:【分享面试题二】Spring,hibernate,struts的面试笔试题(含答案)
takecare
(大厅)
等 级:
#2楼 得分:0回复于:2006-01-10 13:18:17是对方关闭了连接,看看socket server的代码如何实现的
对我有用[0] 丢个板砖[0] 引用 举报 管理 TOP 精华推荐:几道小小的题目一起和大家更进一步地了解 Java (Ⅳ)
sunnyBaby2006
(sunnyBaby)
等 级:
#3楼 得分:0回复于:2006-01-10 13:34:52/**
* <p> Title: </p>
*
* <p> Description: </p>
*
* <p> Copyright: Copyright (c) 2005 </p>
*
* <p> Company: </p>
*
* @author not attributable
* @version 1.0
*/
import java.net.Socket;
import java.io.*;
public class MSNConnection {
private long _transactionID = 0;
private Socket _socket;
//private NetworkStream _stream;
private BufferedReader _reader;
private BufferedWriter _writer;
public MSNConnection() {
}
public void connect (String host,int port){
_transactionID = 0;
try {
System.out.println( "host+port= " + host + port);
_socket = new Socket(host, port);
System.out.println( "==encoding=== "+new InputStreamReader(_socket.getInputStream(), "ascii ").getEncoding());
_reader = new BufferedReader(new InputStreamReader(_socket.
getInputStream(), "ascii "));
_writer = new BufferedWriter(new OutputStreamWriter(_socket.
getOutputStream(), "ascii "));
System.out.println( "connect finish!!! ");
} catch (Exception e) {
System.err.println( "Err - " + e);
}
}
public void writeCommand(String command, String parameters, boolean bSendId) {
String line;
// check what type of format it should be
if (bSendId){
line = String.format( "{0} {1} {2} ", command, _transactionID,
parameters);
}else{
line = String.format( "{0} {1} ", command, parameters);
}
// Write the line
writeLine(line, true);
}
public void writeLine(String line, boolean writeNewLine) {
System.out.println( "Writing: " + line);
//if (writeNewLine)
try {
_writer.write(line);
System.out.println(_reader.readLine());
} catch (IOException ex) {
System.out.println( "erro= "+ex.getMessage());
System.out.println( "erro= "+ex.toString());
}
//else
//_writer.write(line);
// raise the transactionId
_transactionID++;
}
public ServerCommand readCommand(){
String line = null;
try {
//System.out.println( "redLine= "+_reader.readLine());
//System.out.println( "read= "+_reader.read());
line = _reader.readLine();
} catch (IOException ex) {
System.out.println(ex.getMessage());
}
System.out.println( "Reading: " + line);
if (line == null) {
System.out.println( "Nothing received ");
//return " ";
return new ServerCommand();
} else {
//return " ";
return new ServerCommand(line);
}
}
public void dispose() {
if (_socket != null) {
try {
_reader.close();
_writer.close();
//_stream.Close();
_socket.close();
} catch (IOException ex) {
}
_socket = null;
}
}
}
对我有用[0] 丢个板砖[0] 引用 举报 管理 TOP 精华推荐:Flex3.0调用webservice,没有任何反应
sunnyBaby2006
(sunnyBaby)
等 级:
#4楼 得分:0回复于:2006-01-10 13:36:09上面是我的代码,帮我看看.不知道为什么readLine老是出错
对我有用[0] 丢个板砖[0] 引用 举报 管理 TOP 精华推荐:散分,想问一下大家采用什么ajax框架 开发系统,为什么
yuzl32
(有酒醉)
等 级:
2
#5楼 得分:0回复于:2006-01-10 14:09:09你是Server是怎么接的?
这个看不出有什么问题.
听听楼下的看法
对我有用[0] 丢个板砖[0] 引用 举报 管理 TOP 精华推荐:【生日祝福】祝我们的【awusoft】版主 生日快乐!!!
sunnyBaby2006
(sunnyBaby)
等 级:
#6楼 得分:0回复于:2006-01-10 14:56:16问题已解决,是第一位老兄说对了.哈哈
对我有用[0] 丢个板砖[0] 引用 举报 管理 TOP
sunnyBaby2006
(sunnyBaby)
等 级:
#7楼 得分:0回复于:2006-01-10 14:56:56不过readLine老是读成null,郁闷
对我有用[0] 丢个板砖[0] 引用 举报 管理 TOP
takecare
(大厅)
等 级:
#8楼 得分:0回复于:2006-01-10 16:44:07直接使用自己方式读取内容,然后再考虑内容的格式化
对我有用[0] 丢个板砖[0] 引用 举报 管理 TOP
sunnyBaby2006
(sunnyBaby)
等 级:
#9楼 得分:0回复于:2006-01-10 16:54:34直接使用自己方式读取内容?
对我有用[0] 丢个板砖[0] 引用 举报 管理 TOP
takecare
(大厅)
等 级:
#10楼 得分:0回复于:2006-01-10 18:10:59不好意思,写错。
按字节来取。不要取行,因为如果readline的话,必定要求对方发送的数据中带有\r或者\n
System.out.println(new BufferedReader(new InputStreamReader(_socket.getInputStream())).readLine());
就最后一句出错了
对我有用[0] 丢个板砖[0] 引用 举报 管理 TOP 回复次数:10
yuzl32
(有酒醉)
等 级:
2
#1楼 得分:0回复于:2006-01-10 10:50:23你每使用完连接后有没有关闭?
对我有用[0] 丢个板砖[0] 引用 举报 管理 TOP 精华推荐:【分享面试题二】Spring,hibernate,struts的面试笔试题(含答案)
takecare
(大厅)
等 级:
#2楼 得分:0回复于:2006-01-10 13:18:17是对方关闭了连接,看看socket server的代码如何实现的
对我有用[0] 丢个板砖[0] 引用 举报 管理 TOP 精华推荐:几道小小的题目一起和大家更进一步地了解 Java (Ⅳ)
sunnyBaby2006
(sunnyBaby)
等 级:
#3楼 得分:0回复于:2006-01-10 13:34:52/**
* <p> Title: </p>
*
* <p> Description: </p>
*
* <p> Copyright: Copyright (c) 2005 </p>
*
* <p> Company: </p>
*
* @author not attributable
* @version 1.0
*/
import java.net.Socket;
import java.io.*;
public class MSNConnection {
private long _transactionID = 0;
private Socket _socket;
//private NetworkStream _stream;
private BufferedReader _reader;
private BufferedWriter _writer;
public MSNConnection() {
}
public void connect (String host,int port){
_transactionID = 0;
try {
System.out.println( "host+port= " + host + port);
_socket = new Socket(host, port);
System.out.println( "==encoding=== "+new InputStreamReader(_socket.getInputStream(), "ascii ").getEncoding());
_reader = new BufferedReader(new InputStreamReader(_socket.
getInputStream(), "ascii "));
_writer = new BufferedWriter(new OutputStreamWriter(_socket.
getOutputStream(), "ascii "));
System.out.println( "connect finish!!! ");
} catch (Exception e) {
System.err.println( "Err - " + e);
}
}
public void writeCommand(String command, String parameters, boolean bSendId) {
String line;
// check what type of format it should be
if (bSendId){
line = String.format( "{0} {1} {2} ", command, _transactionID,
parameters);
}else{
line = String.format( "{0} {1} ", command, parameters);
}
// Write the line
writeLine(line, true);
}
public void writeLine(String line, boolean writeNewLine) {
System.out.println( "Writing: " + line);
//if (writeNewLine)
try {
_writer.write(line);
System.out.println(_reader.readLine());
} catch (IOException ex) {
System.out.println( "erro= "+ex.getMessage());
System.out.println( "erro= "+ex.toString());
}
//else
//_writer.write(line);
// raise the transactionId
_transactionID++;
}
public ServerCommand readCommand(){
String line = null;
try {
//System.out.println( "redLine= "+_reader.readLine());
//System.out.println( "read= "+_reader.read());
line = _reader.readLine();
} catch (IOException ex) {
System.out.println(ex.getMessage());
}
System.out.println( "Reading: " + line);
if (line == null) {
System.out.println( "Nothing received ");
//return " ";
return new ServerCommand();
} else {
//return " ";
return new ServerCommand(line);
}
}
public void dispose() {
if (_socket != null) {
try {
_reader.close();
_writer.close();
//_stream.Close();
_socket.close();
} catch (IOException ex) {
}
_socket = null;
}
}
}
对我有用[0] 丢个板砖[0] 引用 举报 管理 TOP 精华推荐:Flex3.0调用webservice,没有任何反应
sunnyBaby2006
(sunnyBaby)
等 级:
#4楼 得分:0回复于:2006-01-10 13:36:09上面是我的代码,帮我看看.不知道为什么readLine老是出错
对我有用[0] 丢个板砖[0] 引用 举报 管理 TOP 精华推荐:散分,想问一下大家采用什么ajax框架 开发系统,为什么
yuzl32
(有酒醉)
等 级:
2
#5楼 得分:0回复于:2006-01-10 14:09:09你是Server是怎么接的?
这个看不出有什么问题.
听听楼下的看法
对我有用[0] 丢个板砖[0] 引用 举报 管理 TOP 精华推荐:【生日祝福】祝我们的【awusoft】版主 生日快乐!!!
sunnyBaby2006
(sunnyBaby)
等 级:
#6楼 得分:0回复于:2006-01-10 14:56:16问题已解决,是第一位老兄说对了.哈哈
对我有用[0] 丢个板砖[0] 引用 举报 管理 TOP
sunnyBaby2006
(sunnyBaby)
等 级:
#7楼 得分:0回复于:2006-01-10 14:56:56不过readLine老是读成null,郁闷
对我有用[0] 丢个板砖[0] 引用 举报 管理 TOP
takecare
(大厅)
等 级:
#8楼 得分:0回复于:2006-01-10 16:44:07直接使用自己方式读取内容,然后再考虑内容的格式化
对我有用[0] 丢个板砖[0] 引用 举报 管理 TOP
sunnyBaby2006
(sunnyBaby)
等 级:
#9楼 得分:0回复于:2006-01-10 16:54:34直接使用自己方式读取内容?
对我有用[0] 丢个板砖[0] 引用 举报 管理 TOP
takecare
(大厅)
等 级:
#10楼 得分:0回复于:2006-01-10 18:10:59不好意思,写错。
按字节来取。不要取行,因为如果readline的话,必定要求对方发送的数据中带有\r或者\n