将java编写的socket程序运行于linux服务器上

1.使用eclipse编写一个简单的服务器程序

MyserverSocket.java
package com.serverSocket.main;
//服务器程序,连接服务器后会接收到welcome,在没对他发送一组数据后,将返回OK,并且在控制台显示
public class MyserverSocket {

    public static void main(String[] args) {
         new ServerListener().start(); //建立实时监听客服端
    }

}
ServerListener.java
package com.serverSocket.main;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;

import javax.swing.JOptionPane;

//该类用于等待客服端连接
public class ServerListener extends Thread {
    @Override
    public void run() {
        try {
            ServerSocket serverSocket = new ServerSocket(23457); //端口
            while(true){
                //每当有一个客服端连接就有一个socket
                Socket socket =  serverSocket.accept();//阻塞
//              JOptionPane.showMessageDialog(null, "有客服端连接到本地的23457端口");   

                 // 获得输入流
                InputStream inputStream = socket.getInputStream();  

                //获得输出流
                OutputStream os=socket.getOutputStream();  
                PrintWriter pw=new PrintWriter(os);  

                //进入时输入显示welcome
                String reply="welcome";  
                pw.write(reply);  
                pw.flush(); 

                //读取用户信息
                byte buffer[] = new byte[1024 * 4];  
                int temp = 0;  
                // 没接收到一段数据将其显示在控制台,并且返回OK
                while ((temp = inputStream.read(buffer)) != -1) {  
                    System.out.println(new String(buffer, 0, temp));
                    pw.write("OK!");  
                    pw.flush(); 
                }   

                //5.关闭资源  
                pw.close();  
                os.close();  
//              br.close();  
                inputStream.close();  
                socket.close();  
                serverSocket.close();  


            }
        } catch (IOException e) {
            e.printStackTrace();
        } 
    }
}

这里由于accept方法将阻塞线程,我于是新建立了一个线程来监听端口
工程下载

2.将程序导出为jar包

点击eclipse 左上角 File - > Export,选择java栏里面的jar
这里写图片描述

next,选择你需要打包的工程,选择放置位置后再next
这里写图片描述

最后选择程序的入口
这里写图片描述

3.将包上传到服务器

这里可以直接在服务器里面使用代码上传,也可以使用winscp软件上传
我这里使用了后者,因为方面嘛

建立连接

这里写图片描述

拖拽放入文件

这里写图片描述

4.运行

笔者使用的是cenos系统,首先测试是否安装java,如果没有可以输入

yum -y list java*  //查看java包
yum -y install java-1.7.0-openjdk* //安装java包

之后可以使用运行代码

java -jar xxxx.jar 
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值