📄 javasocketserver.java
字号:
import java.io.*;
import java.net.*;
/*
@author 罗毅华
@version 1.0 copyright 2006-2007
*/
class JavaSocketServer extends Thread
{
//定义一个server属性
ServerSocket server;
//定义一个不带参数的构造器
public JavaSocketServer()
{
try
{ //新创建一个ServerSocket,端口为1400
server = new ServerSocket(1400);
}
catch(IOException e)
{ //如果发生异常,对IO进行异常处理
System.out.println("不能建立服务");
System.exit(0);
}
System.out.println("现在socket服务将开始");
this.start();
}
//定义一个运行方法
public void run()
{
try
{
while (true)
{
Socket client = server.accept();
Service ss = new Service(client);
}
}
catch(IOException e)
{
System.out.println("不能提供服务");
System.exit(1);
}
}
public static void main(String[] args)
{
String data;
BufferedReader KeyInput;
new JavaSocketServer();
}
}
class Service extends Thread
{
String data;
BufferedReader InputS;
PrintStream OutputS;
Socket Client;
public Service(Socket ClientSocket)
{
Client = ClientSocket;
try
{
InputS = new BufferedReader(new InputStreamReader(Client.getInputStream()));
OutputS = new PrintStream(Client.getOutputStream());
}
catch(IOException e)
{
System.out.println("不能连接客户端!");
return;
}
this.start();
}
public void run()
{
//将当前服务线程打印出来
//比较每次一个新的客户端连接上来的时候的线程是否相同
System.out.println(this);
try
{
while(true)
{
data = InputS.readLine();
if(data == null)break;
else
{
OutputS.println(data);
System.out.println("从客户端:" + data);
}
}
}
catch(IOException e)
{
System.out.println("读数据出现错误");
}
try
{
Client.close();
}
catch(IOException e)
{
System.out.println("不能关闭线程--!");
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -