看板java
标 题Re: 请教一下要如何把一各object丢到socket getouputstream?!....
发信站清华资讯(枫桥驿站) (Sun Aug 8 01:13:44 2004)
转信站ptt!ctu-reader!ctu-peer!news.nctu!news.csie.ncyu!news.cs.nthu!maple
※ 引述《[email protected] (otp)》之铭言:
> 请教一下要如何把一各object丢到socket的.....getouputstream?!....
> THANX
简单来讲 你应该有写类似Server和Client的class来建立TCP连线
我想你应该是要问..怎麽传送Object到另一方?
在Server里头你应该有用到ServerSocket还有Socket
在Client里头你应该有用到Socket
假设在Server里头你宣告了 Socket acceptedSocket
在Client里头你宣告了 Socket clientSocket
这两个socket代表Server-Client沟通的Channel
如果你想在Server里头写接收和传送Object的Method,你可以参考一下:
//一开始先宣告
ObjectInputStream OIS = null;
ObjectOutPutStream OOS = null;
//接收来自於Client端的Object
public void rcvObject()
{
try{
OIS = new ObjectInputStream(acceptedSocket.getInputStream());
}
catch(Exception e) {}
}
//传送Object到Client端
public void sndObject()
{
try{
OOS = new ObjectOutputStream(acceptedSocket.getOutputStream());
OOS.writeUTF(....); //....表你想要传送给Client的东西
OOS.flush();
}
catch(Exception e) {}
}
下面是Client里头接收和传送的Method:
//一开始先宣告
ObjectInputStream OIS = null;
ObjectOutPutStream OOS = null;
//接收来自於Server端的Object
public void rcvObject()
{
try{
OIS = new ObjectInputStream(clientSocket.getInputStream());
}
catch(Exception e) {}
}
//传送Object到Server端
public void sndObject()
{
try{
OOS = new ObjectOutputStream(clientSocket.getOutputStream());
OOS.writeUTF(....); //....表你想要传送给Server的东西
OOS.flush();
}
catch(Exception e) {}
}
----
注意一下在实作Server-Client的接收传送的方法时
最好将rcvObject()还sndObject()两个方法另外用Thread去执行
否则整个Program在执行时会发生因为空等造成Idle的情形
--
※ Origin: 枫桥驿站<bbs.cs.nthu.edu.tw> ◆ From: u16-14.u203-187.giga.net.tw