客戶端
package client;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;
import java.util.Scanner;
import javax.xml.ws.handler.MessageContext.Scope;
public class Client1 {
private Scanner sc=new Scanner(System.in);
private OutputStream out;
private InputStream in;
private Socket socket;
public Client1(){
try {
//創(chuàng)建socket對象
socket = new Socket("127.0.0.1",8888);
System.out.println("連上服務(wù)器...");
while(true){
System.out.println("請輸入:");
out = socket.getOutputStream();
//輸入
String next = sc.next();
out.write(next.getBytes());
in = socket.getInputStream();
byte[] b=new byte[1024*1024];
int len = in.read(b);
String string = new String(b, 0, len);
if("bye".equals(string)){
break;
}
System.out.println("服務(wù)器回復:"+string);
}
in.close();
out.close();
socket.close();
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
Client1 c=new Client1();
}
}
服務(wù)器端
package server;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Scanner;
public class Server1 {
private Scanner sc=new Scanner(System.in);
public Server1(){
try {
ServerSocket serverSocket = new ServerSocket(8888);
System.out.println("服務(wù)器等待連接中.....");
Socket socket = serverSocket.accept();
System.out.println("連接成功");
while(true){
InputStream in = socket.getInputStream();
byte[] b=new byte[1024*1024];
int len = in.read(b);
String id=new String(b,0,len);
System.out.println("客戶端說:"+id);
OutputStream out = socket.getOutputStream();
String next = sc.next();
out.write(next.getBytes());
}
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
Server1 s=new Server1();
}
}
多線程的服務(wù)器端
package more.server;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
public class ServerMore {
public static void main(String[] args) {
ServerMore s=new ServerMore();
}
public ServerMore(){
try {
ServerSocket serverSocket = new ServerSocket(8888);
System.out.println("服務(wù)器等待鏈接中.....");
while(true){
Socket socket = serverSocket.accept();
System.out.println("連接成功");
ServerThread st=new ServerThread(socket);
new Thread(st).start();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
class ServerThread implements Runnable{
private Socket socket;
private InputStream in;
private OutputStream out;
public ServerThread(Socket socket){
this.socket=socket;
}
@Override
public void run() {
try {
while(true){
in = socket.getInputStream();
byte[] b=new byte[1024];
int len = in.read(b);
String msg=new String(b,0,len);
System.out.println("客戶端發(fā)送過來的消息為:\t"+msg);
if("bye".equals(msg)){
break;
}
out=socket.getOutputStream();
out.write("我是服務(wù)器".getBytes());
}
in.close();
out.close();
socket.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。