急:在socket中如何把一个整形变量a从服务端发送到客户端
求java代码,目的是在socket连接中,把一个整形变量a从服务端发送到客户端~~~~求具体的代码段。...
求java代码,目的是在socket连接中,把一个整形变量a从服务端发送到客户端~~~~
求具体的代码段。 展开
求具体的代码段。 展开
展开全部
1.这个方法发送过去是一个数值.
Socket s = new Socket("127.0.0.1",5000);
s.getOutputStream().write(10);
2发送一个对象.既然发送对象就要序列化,那么对方接受就要并行化
序列化一个对象,那么这个对象就要实现Serializable空方法的接口,java规范
Socket s = new Socket("127.0.0.1",5000);
OutputStream out = s.getOutputStream();
ByteArrayOutputStream byOut = new ByteArrayOutputStream();
ObjectOutputStream objOut = new ObjectOutputStream(byOut);
objOut.writeObject("一个实现Serializable的类的对象");
byOut.writeTo(out);
byOut.flush();
byOut.close();
Socket s = new Socket("127.0.0.1",5000);
s.getOutputStream().write(10);
2发送一个对象.既然发送对象就要序列化,那么对方接受就要并行化
序列化一个对象,那么这个对象就要实现Serializable空方法的接口,java规范
Socket s = new Socket("127.0.0.1",5000);
OutputStream out = s.getOutputStream();
ByteArrayOutputStream byOut = new ByteArrayOutputStream();
ObjectOutputStream objOut = new ObjectOutputStream(byOut);
objOut.writeObject("一个实现Serializable的类的对象");
byOut.writeTo(out);
byOut.flush();
byOut.close();
展开全部
import java.io.BufferedOutputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Scanner;
public class Server
{
public static void main(String[] args)
{
System.out.print("输入一个整型:");
int a = new Scanner(System.in).nextInt();
ServerSocket ss = null;
Socket socket = null;
BufferedOutputStream bos = null;
try {
ss = new ServerSocket(12345);
socket = ss.accept();
ByteArrayOutputStream baos = new ByteArrayOutputStream();
bos = new BufferedOutputStream(baos);
bos.write(a);
bos.flush();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if(bos!=null)
bos.close();
} catch (IOException e1) {
e1.printStackTrace();
}
try {
if (socket != null)
socket.close();
} catch (IOException e) {
e.printStackTrace();
}
try {
if (ss != null)
ss.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
注:本人自己写的,由于本人也是菜鸟,可能有错。楼主可以写个客户端的类试试。互相学习!
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Scanner;
public class Server
{
public static void main(String[] args)
{
System.out.print("输入一个整型:");
int a = new Scanner(System.in).nextInt();
ServerSocket ss = null;
Socket socket = null;
BufferedOutputStream bos = null;
try {
ss = new ServerSocket(12345);
socket = ss.accept();
ByteArrayOutputStream baos = new ByteArrayOutputStream();
bos = new BufferedOutputStream(baos);
bos.write(a);
bos.flush();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if(bos!=null)
bos.close();
} catch (IOException e1) {
e1.printStackTrace();
}
try {
if (socket != null)
socket.close();
} catch (IOException e) {
e.printStackTrace();
}
try {
if (ss != null)
ss.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
注:本人自己写的,由于本人也是菜鸟,可能有错。楼主可以写个客户端的类试试。互相学习!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
简单来说吧,socket连接是通过流来的!
我们学过的流是不是有个DataOutputStream????
它里面有个好的方法!readInt();
去看看API吧!
我们学过的流是不是有个DataOutputStream????
它里面有个好的方法!readInt();
去看看API吧!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询