2个问题:1.java接收flash中文的时候出现乱码同时flash接收java中文的时候也出现乱码2.flash接收java的时候接收的数据不全就是说假如你发送123456它可能只能接收到123而已packagegoban...
2 个问题:
1.java接收flash中文的时候出现乱码 同时flash接收java中文的时候也出现乱码
2.flash接收java的时候 接收的数据不全 就是说假如你发送123456 它可能只能接收到123而已
package gobang;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
public class SocketServer {
public static void main(String[] args) {
try{
ServerSocket ss=new ServerSocket(15555);
while(true){
Socket s=ss.accept();
InputStream in=s.getInputStream();
OutputStream outF=new FileOutputStream("D:/test.txt");
byte[] buf=new byte[1024];
int len=in.read(buf);
String socketIn=new String(buf,0,len);
Object sys=socketIn;
while(in.read(buf)!=-1)
{
outF.write(buf);
}
outF.flush();
OutputStream out=s.getOutputStream();
out.write("java发送的数据".getBytes());
s.close();
}
}catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
}
}
//flash发送的方法
function connStart(event:MouseEvent):void{
txt.text="";
log("请求连接");
btnCon.enabled=false;
btnClose.enabled=true;
mysocket.connect(hostName,port);
var msg:ByteArray=new ByteArray();
var mySendData:String=new String("发送的数据"); //发送的数据源
msg.writeUTF(mySendData);
mysocket.writeBytes(msg);
//mysocket.send("fefefygry?");
}
//flash接收的方法
function onDataReceivedHandler(event:Event):void{
log("开始接收数据"+event+"\n");
var strresult:String="";
while(mysocket.bytesAvailable>0){
var mybyte:uint=mysocket.readUnsignedByte();
strresult+=String.fromCharCode(mybyte);
}
log("接受到数据"+strresult.substring(1,strresult.length-1)+"\n");
//log("接收到数据"+strresult.substring(l,strresult.length-1)+"\n");
}
展开