1.协议包自自己定义
2.客服端发条消息给服务器 服务器验证客服端发来包的完整性 返回一条消息给客服端 然后返回到页面显示出来
小弟刚接触这个 不太懂 谢谢了
1.协议包自自己定义
2.客服端发条消息给服务器 服务器验证客服端发来包的完整性 返回一条消息给客服端 然后返回到页面显示出来
小弟刚接触这个 不太懂 谢谢了
[code="java"]import java.net.ServerSocket;
import java.net.Socket;
import java.io.*;
public class TestServer extends Thread {
private ServerSocket ss = null;
public TestServer(){
try {
ss = new ServerSocket(7456);
} catch (IOException e) {
e.printStackTrace();
}
}
public void run(){
while(true){
try {
Socket so = ss.accept();
ServerThread st = new ServerThread(so);
st.start();
} catch (IOException e) {
e.printStackTrace();
}
}
}
public static void main(String[] args) throws Exception {
new TestServer().start();
}
}[/code]
[code="java"]import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.PrintStream;
import java.net.Socket;
public class ServerThread extends Thread{
private Socket so ;
public ServerThread(Socket so){
this.so = so;
}
public void run(){
try{
InputStream is = so.getInputStream();
OutputStream os = so.getOutputStream();
BufferedReader br =
new BufferedReader(new InputStreamReader(is));
PrintStream ps = new PrintStream(os);
while(true){
String temp = br.readLine();//客户要用println
ps.println("from server:"+temp);//处理下
if(temp.equals("bye")){
break;
}
}
ps.close();
br.close();
so.close();
}catch(Exception rr){
rr.printStackTrace();
}
}
}
[/code]
[code="java"]
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.PrintStream;
import java.net.ServerSocket;
import java.net.Socket;
public class TestClient {
public static void main(String[] args) throws Exception{
Socket so = new Socket("127.0.0.1",7456);
InputStream is = so.getInputStream();
OutputStream os = so.getOutputStream();
BufferedReader br = //客户从server的输入流
new BufferedReader(new InputStreamReader(is));
PrintStream ps = new PrintStream(os);
InputStreamReader isr =
new InputStreamReader(System.in);
BufferedReader key = //从键盘的输入流
new BufferedReader(isr);
while(true){
String temp = key.readLine();
ps.println(temp);//因为server用的是readline,必须用println
System.out.println(br.readLine());
if(temp.equals("bye")){
Thread.sleep(1000);//为了把bye更好的发送
break;
}
}
key.close();//java 包名.类名
ps.close();
br.close();
so.close();
}
}[/code]
先运行TestServer类,打开服务器,
然后在运行TestClient ,就可以在终端输入字了,服务器就回打出你刚输入的字