利用Socket进行Java网络编程(三)
作者:asx | 来源:互联网 | 2023-08-22 15:20
内容:出自:天极网郗旻2002年11月11日09:28附:服务器的实现代码importjava.net.*;importjava.io.*;importjava.awt.event
内容: 出自:天极网 郗旻 2002年11月11日 09:28
附:服务器的实现代码
import java.net.*;
import java.io.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class talkServer
{ public static void main(String[] args)
{ try
{ file://建立服务器
ServerSocket server = new ServerSocket(9998);
int i=1;
for(;;)
{ Socket incoming = server.accept();
new ServerThread(incoming,i).start();
i++;
}
}catch (IOException ex){
ex.printStackTrace();
}
}
}
class ServerThread extends Thread implements ActionListener
{
private int threadNum;
private Socket socket;
talkServerFrm t;
BufferedReader in;
PrintWriter out;
private boolean talking=true;
public ServerThread(Socket s,int c)
{ threadNum = c;
socket = s;
}
public void actionPerformed(ActionEvent e)
{ Object source = e.getSource();
try{
if(source==t.btnSend)
{ out.println(t.getTalk());
t.clearTalk();
}else
if(source==t.btnEnd)
{ out.println("谈话过程被对方终止");
out.close();
in.close();
talking = false;
}
}catch(IOException ex){
}
}
public void run()
{ try{
t=new talkServerFrm(new Integer(threadNum).toString(),this);
t.setSize(500,500);
t.show();
in = new BufferedReader(new
InputStreamReader(socket.getInputStream()));
out = new PrintWriter(socket.getOutputStream(),true);
}catch(Exception e){
}
new Thread()
{ public void run()
{ try{
while(true)
{ checkInput();
sleep(1000);
}
}catch (InterruptedException ex){
}catch(IOException ex){
}
}
}.start();
while(talking)
{ }
t.dispose();
}
private void checkInput() throws IOException
{ String line;
if((line=in.readLine())!=null)
t.setPartner(line); file://这是界面类里的方法,
file://用来将line的内容输出到用户界面
}
}
Java, java, J2SE, j2se, J2EE, j2ee, J2ME, j2me, ejb, ejb3, JBOSS, jboss, spring, hibernate, jdo, struts, webwork, ajax, AJAX, mysql, MySQL, Oracle, Weblogic, Websphere, scjp, scjd
推荐阅读
-
本文从源码解析Java容器中的compareto方法的排序原理,讲解了在使用数组存储数据时的限制以及存储效率的问题。同时提到了Redis的五大数据结构和list、set等知识点,回忆了作者大学时代的Java学习经历。文章以作者做的思维导图作为目录,展示了整个讲解过程。 ...
[详细]
蜡笔小新 2023-12-14 13:53:31
-
本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ...
[详细]
蜡笔小新 2023-12-13 22:09:56
-
-
个人学习使用:谨慎参考1Client类importcom.thoughtworks.gauge.Step;importcom.thoughtworks.gauge.T ...
[详细]
蜡笔小新 2023-12-13 14:20:23
-
本文介绍了Java序列化对象传给PHP的方法及原理,包括Java对象传递的方式、序列化的方式、PHP中的序列化用法介绍、Java是否能反序列化PHP的数据、Java序列化的原理以及解决Java序列化中的问题。同时还解释了序列化的概念和作用,以及代码执行序列化所需要的权限。最后指出,序列化会将对象实例的所有字段都进行序列化,使得数据能够被表示为实例的序列化数据,但只有能够解释该格式的代码才能够确定数据的内容。 ...
[详细]
蜡笔小新 2023-12-14 15:25:15
-
本文详细介绍了Java中vector的使用方法和相关知识,包括vector类的功能、构造方法和使用注意事项。通过使用vector类,可以方便地实现动态数组的功能,并且可以随意插入不同类型的对象,进行查找、插入和删除操作。这篇文章对于需要频繁进行查找、插入和删除操作的情况下,使用vector类是一个很好的选择。 ...
[详细]
蜡笔小新 2023-12-13 14:14:39
-
本文介绍了Java学习笔记中的面向对象编程(OOP)内容,包括OOP的三大特性(封装、继承、多态)和五大原则(单一职责原则、开放封闭原则、里式替换原则、依赖倒置原则)。通过学习OOP,可以提高代码复用性、拓展性和安全性。 ...
[详细]
蜡笔小新 2023-12-13 08:44:30
-
本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ...
[详细]
蜡笔小新 2023-12-14 12:05:06
-
本文介绍了如何在给定的有序字符序列中插入新字符,并保持序列的有序性。通过示例代码演示了插入过程,以及插入后的字符序列。 ...
[详细]
蜡笔小新 2023-12-14 11:16:33
-
本文解答了JavaSE笔试题中关于接口、抽象类、多态等问题。包括Math类的取整数方法、接口是否可继承、抽象类是否可实现接口、抽象类是否可继承具体类、抽象类中是否可以有静态main方法等问题。同时介绍了面向对象的特征,以及Java中实现多态的机制。 ...
[详细]
蜡笔小新 2023-12-14 10:01:13
-
本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ...
[详细]
蜡笔小新 2023-12-13 17:39:50
-
importjava.util.ArrayList;publicclassPageIndex{privateintpageSize;每页要显示的行privateintpageNum ...
[详细]
蜡笔小新 2023-12-13 16:40:13
-
本文介绍了使用java代码实现大整数乘法的过程,同时也涉及到大整数加法和大整数减法的计算方法。通过分治算法来提高计算效率,并对算法的时间复杂度进行了研究。详细代码实现请参考文章链接。 ...
[详细]
蜡笔小新 2023-12-13 11:21:32
-
本文介绍了Python爬虫技术基础篇面向对象高级编程(中)中的多重继承概念。通过继承,子类可以扩展父类的功能。文章以动物类层次的设计为例,讨论了按照不同分类方式设计类层次的复杂性和多重继承的优势。最后给出了哺乳动物和鸟类的设计示例,以及能跑、能飞、宠物类和非宠物类的增加对类数量的影响。 ...
[详细]
蜡笔小新 2023-12-12 16:19:02
-
本文介绍了Swing组件的用法,重点讲解了图标接口的定义和创建方法。图标接口用来将图标与各种组件相关联,可以是简单的绘画或使用磁盘上的GIF格式图像。文章详细介绍了图标接口的属性和绘制方法,并给出了一个菱形图标的实现示例。该示例可以配置图标的尺寸、颜色和填充状态。 ...
[详细]
蜡笔小新 2023-12-11 21:03:59
-
本文介绍了使用Python解析C语言结构体的方法,包括定义基本类型和结构体类型的字典,并提供了一个示例代码,展示了如何解析C语言结构体。 ...
[详细]
蜡笔小新 2023-12-11 18:45:50
-