Socket(InetAddress address,int port); //创建一个流套接字并将其连接到指定 IP 地址的指定端口号 Socket(String host,int port); //创建一个流套接字并将其连接到指定主机上的指定端口号 Socket(InetAddress address,int port, InetAddress localAddr,int localPort); //创建一个套接字并将其连接到指定远程地址上的指定远程端口 Socket(String host,int port, InetAddress localAddr,int localPort); //创建一个套接字并将其连接到指定远程主机上的指定远程端口 Socket(SocketImpl impl); //使用用户指定的 SocketImpl 创建一个未连接 Socket
public InputStream getInputStream(); //方法获得网络连接输入,同时返回一个IutputStream对象实例 public OutputStream getOutputStream(); //方法连接的另一端将得到输入,同时返回一个OutputStream对象实例 public Socket accept(); //用于产生"阻塞",直到接受到一个连接,并且返回一个客户端的Socket对象实例。
ServerSocket(int port); //创建绑定到特定端口的服务器套接字 ServerSocket(int port,int backlog); //利用指定的 backlog 创建服务器套接字并将其绑定到指定的本地端口号 ServerSocket(int port,int backlog, InetAddress bindAddr); //使用指定的端口、侦听 backlog 和要绑定到的本地 IP地址创建服务器
try {
Socket socket = new Socket("173.1.1.121", 30004);
//获取控制台输入的内容
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
System.out.print("请输入发送的字符串:");
String str = bufferedReader.readLine();
//给服务端发送消息
PrintWriter printWriter = new PrintWriter(socket.getOutputStream());
printWriter.write(str + "\r\n");
printWriter.flush();
//关闭资源
bufferedReader.close();
printWriter.close();
socket.close();
} catch (IOException e) {
e.printStackTrace();
}
InetAddress ia = null;
try {
ia = ia.getLocalHost();
String localname = ia.getHostName();
String localip = ia.getHostAddress();
System.out.println("本机名称是:" + localname);
System.out.println("本机的ip是 :" + localip);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
mServerSocket = new java.net.ServerSocket(30004);
Socket socket = mServerSocket.accept();
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
String content = null;
while ((content=bufferedReader.readLine() )!= null) {
System.out.println("接收到客服端发来的消息:" +content);
}
//关闭连接
bufferedReader.close();
socket.close();
} catch (IOException e) {
e.printStackTrace();
}
//文件名称 public String fileName; //文件长度 public long fileLength; //传输类型 public int transmissionType; //传输内容 public String content; //传输的长度 public long transLength; //发送还是接受类型 1发送 2接收 public int itemType = 1; //0 文本 1 图片 public int showType;
/**
* 文件路径
*
* @param filePath
*/
private void sendFile(String filePath) {
FileInputStream fis = null;
File file = new File(filePath);
try {
mSendHandler.sendEmptyMessage(Constants.PROGRESS);
fis = new FileInputStream(file);
Transmission trans = new Transmission();
trans.transmissionType = Constants.TRANSFER_FILE;
trans.fileName = file.getName();
trans.fileLength = file.length();
trans.transLength = 0;
byte[] bytes = new byte[1024];
int length = 0;
while ((length = fis.read(bytes, 0, bytes.length)) != -1) {
trans.transLength += length;
trans.content = Base64Utils.encode(bytes);
mPrintWriter.write(mGson.toJson(trans) + "\r\n");
mPrintWriter.flush();
//更新进度
Message message = new Message();
message.what = Constants.PROGRESS;
message.obj = 100 * trans.transLength / trans.fileLength;
mSendHandler.sendMessage(message);
}
fis.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
if (fis != null) {
try {
fis.close();
} catch (IOException e1) {
e1.printStackTrace();
}
}
} catch (IOException e) {
e.printStackTrace();
mPrintWriter.close();
}
}
trans.content = Base64Utils.encode(bytes);
mPrintWriter.write(mGson.toJson(trans) + "\r\n");
mPrintWriter.flush();
long fileLength = trans.fileLength;
long transLength = trans.transLength;
if (mCreateFile) {
mCreateFile = false;
fos = new FileOutputStream(new File("d:/" + trans.fileName));
}
byte[] b = Base64Utils.decode(trans.content.getBytes());
fos.write(b, 0, b.length);
System.out.println("接收文件进度" + 100 * transLength / fileLength + "%...");
if (transLength == fileLength) {
mCreateFile = true;
fos.flush();
fos.close();
}
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有