浅谈JAVA中如何利用socket进行网络编程(二)
来源:互联网 发布:生产矩阵作业指导书 编辑:程序博客网 时间:2024/06/05 07:29
浅谈JAVA中如何利用socket进行网络编程(二)
Socket是网络上运行的两个程序间双向通讯的一端,它既可以接受请求,也可以发送请求,利用它可以较为方便的编写网络上的数据的传递。在java中,有专门的socket类来处理用户的请求和响应。利用SOCKET类的方法,就可以实现两台计算机之间的通讯。这里就介绍一下在JAVA中如何利用socket进行网络编程。点击打开链接
在上一篇中我们已经和大家说到客户端的网络编程,下面和大家分享的是服务器的实现代码。
- 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中的socket网络编程就给大家介绍完啦!希望对大家有帮助。
0 0
- 浅谈JAVA中如何利用socket进行网络编程(二)
- 浅谈JAVA中如何利用socket进行网络编程(二)
- 浅谈JAVA中如何利用socket进行网络编程(二)
- 浅谈JAVA中如何利用socket进行网络编程(一)
- 浅谈JAVA中如何利用socket进行网络编程(一)
- 浅谈JAVA中如何利用socket进行网络编程(一)
- JAVA中如何利用socket进行网络编程
- 利用Socket进行Java网络编程
- 利用Socket进行Java网络编程
- Java Socket网络编程(二)
- Java Socket网络编程二
- Java Socket网络编程二
- 浅谈Java网络编程之Socket (1)
- java网络socket编程(二)之Socket客户端
- 浅谈socket网络编程
- Java网络(Socket)编程小记二 TCP编程
- 《Java网络编程》读书笔记(二)socket编程
- Java利用Socket网络编程异常1
- iconv 文件编码转换
- java Date获取 年月日时分秒
- android Log 等级以及在Android Studio 的Logcat中过滤方法
- 秒懂冒泡排序
- iOS开发 UITextField的使用详解
- 浅谈JAVA中如何利用socket进行网络编程(二)
- android studio 1.0 Library projects cannot set applicationId. applicationId is set to '' in default
- 【ExtJs】ExtJs的表单插件与表单布局、提交与验证
- MyEclipse常用设置与快捷键
- C和指针读书笔记-第17章(经典抽象数据类型)
- java 关于处理时间
- 秒杀系统架构优化思路
- PHP 上传文件
- App开发日报 2015-04-26 流行iOS网络通信库AFNetworking曝SSL漏洞