public void sendCMD(final byte[] buffer,final String ip)
{
new Thread(new Runnable() {
@Override
public void run() {
Socket socket=null;
try{
socket = new Socket(InetAddress.getByName(ip), Proxys.PORT_RECEIVE + Max);
InputStream inputStream = new ByteArrayInputStream(buffer);
OutputStream outputStream = socket.getOutputStream();
byte buffer [] = new byte[1024];
int temp=0;
while((temp = inputStream.read(buffer)) != -1){
outputStream.write(buffer,0,temp);}
outputStream.flush();
}
客户端发送指令给服务端
public void run() {
// 消息循环
ServerSocket serverSocket = null;
Socket socket = null;
try {
//定义TCP监听
serverSocket = new ServerSocket(Proxys.PORT_RECEIVE + con.Max);
socket = serverSocket.accept();
int temp=0;
//定义缓冲区
byte[] buffer=new byte[1024];
String str="";
//定义接收数据包
InputStream inputStream = socket.getInputStream();
while ((temp = inputStream.read(buffer)) != -1) {
str=new String(buffer, 0, temp);}
服务端接收客户端发送的流 不知道哪个地方有问题,请大神看一下上面贴上的代码是否有问题?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
给你个小例子参考一下吧:
public class Server{
publicstatic void main(String[] args){
try{
ServerSocket s = newServerSocket(9000);
while (true) {
Socket incoming =s.accept();
try{
FileInputStreamfstream = new FileInputStream("Server.java"); //假设输入文件为Server.java
DataInputStream in =new DataInputStream(fstream);
BufferedReaderbr = new BufferedReader(new InputStreamReader(in));
OutputStreamostream = incoming.getOutputStream();
PrintWriterout = new PrintWriter(ostream, true);
String strLine;
while ((strLine =br.readLine()) != null) {
out.println(strLine);
}
in.close();
} finally {
incoming.close();
}
}
}catch (Exception e){
e.printStackTrace();
}
}
}
客户端Client.java:
import java.io.*;
import java.net.*;
import java.util.*;
public class Client{
publicstatic void main(String[] args){
try {
Sockets = new Socket("localhost", 9000);
try {
InputStreaminStream = s.getInputStream();
Scannerin = new Scanner(inStream);
PrintWriter out = newPrintWriter("test.txt");//假设输出文件为test.txt
while(in.hasNextLine()){
Stringline = in.nextLine();
System.out.println(line);
out.println(line);
}
out.close();
} finally {
s.close();
}
} catch(IOException e) {
e.printStackTrace();
}
}
}
评论
全部评论 (0)