步骤:
1、服务端创建serversocket,循环调用accept()等待客户端连接;
2、客户端创建socket并请求与服务端对话;
3、服务端接收客户端的请求,创建socket与客户端进行专线连接;
4、服务端监测是否接收到消息,长时间没有接收到消息则关闭连接;
public class serversocketthread extends thread{
private socket socket = null;
public serversocketthread (socket socket){
this.socket = socket;
}
@override
public void run(){
try {
inputstream inputstream = socket.getinputstream();
outputstream outputstream = socket.getoutputstream();
bufferedreader bufferedreader = new bufferedreader(new inputstreamreader(inputstream));
if(bufferedreader.readline()!=null){
string read = bufferedreader.readline();
system.out.println(read);
system.out.println(str2hexstr(read));
}
/**
* 关闭输出流
*/
socket.shutdownoutput();
/**
* 关闭相对应的资源
*/
outputstream.close();
bufferedreader.close();
inputstream.close();
socket.close();
} catch (ioexception e) {
e.printstacktrace();
}
}
}
public class socketserver {
public static void main(string[] args) {
try {
serversocket serversocket = new serversocket(8888);
socket socket = null;
int clientcount = 0;
while(true){
socket = serversocket.accept();
serversocketthread serversocketthread = new serversocketthread(socket);
serversocketthread.start();
clientcount++;
system.out.println("客户端数量为:"+clientcount);
}
} catch (ioexception e) {
e.printstacktrace();
}
}
}
您可能感兴趣的文章:
- 创建Gradle工程出现Could not install Gradle distribution from 'https://services.gradle.org/distributions/gradleXX'.问题解决
- spring boot 错误:Check your ViewResolver setup
- java实现判断一个整数是几位数,并按照逆序输出
- Please, configure Web Facet first!idea报这错的解决办法!!
- SpringBoot 2.0 报错: Failed to configure a DataSource: 'url' attribute is not specified and no embe
如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!
网友评论