1、自己寫了個聊天室軟體,但是服務端的IP不固定,有沒有什麼辦法可以解決
一、將服務端的IP寫入客戶端程序,然後再打包之後發放;
二、讓客戶端程序通過域名而不是IP進行連接。
希望我的回答能夠幫助到你。敬請採納。
2、怎麼用易語言做一個類似於聊天室的軟體,可以客戶端和伺服器端進行發送信息,類似於q q那樣的,而且是
遠程聊天不麻煩,麻煩是很難做到跟QQ一樣的聊天框窗口,支持圖片也支持其他文本信息
3、如何在自己電腦上架設聊天室伺服器,使別人可以訪問
必須是專線才可以,如果局內網不可以~~ asp架設首先要有IIS xp 和2000都有帶 98你自己下 就是Internet 信息服務 安裝完畢後你可以通過 計算機-網站-默認網站這幾個步驟 然後點滑鼠右鍵 新建虛擬目錄 建立網站 如果還看不見就點右鍵 屬性-配置 看看擴展名里有沒有asp 如果沒有添加一下 瀏覽C:\WINDOWS\System32\inetsrv\asp.dll 最後點你的網站目錄 右鍵瀏覽就可以看見 php架設 第0步:\>軟體、環境清單 本文側重於Windows平台的Apache版本,而且僅用於調試學慣用! 原貼地址: http://wjhen.3322.org/ipb/index.php?showtopic=32 ★軟體環境: OS:Win2000/WinXP/Win2003 ★軟體清單: 1.Apache Ver:1.3.33 (建議使用1.3.x版本,兼容性比較好) 下載地址: http://httpd.apache.org/download.cgi 2.ActivePerl Ver:5.6.1(建議使用5.6.1版本,兼容性比較好) 下載地址: http://www.activeperl.com/Procts/Downloa...x?id=ActivePerl 3.PHP Ver:4.3.10 (建議使用4.3.10版本,兼容性和安全性比較好) 下載地址: http://www.php.net/downloads.php 4.Windows Installer Ver:3.0(可選,如果軟體無法安裝請先安裝,適用於Win2KSP3/Win2kSP4/Win2K3/WinXP/WinXPSP1) 下載地址: http://www.microsoft.com/downloads/details...14-a956122e08e8 [quote]第1步:\>開始安裝Apache 下載完apache_1.3.33-win32-x86-no_src.exe,運行之,出現如圖歡迎畫面。[/quote] quote]第2步:\>Apache安裝許可協議 當然選擇我同意了。[/quote] [quote]第3步:\>Apache的一些說明 直接下一步吧。[/quote] [quote]第4步:\>填寫主機參數 Network Domain:域名(填寫你的主機的域名,如果單機調試可以任意填) Server Name:主機名(填寫主機所在域的主機名,如果單機調試可以任意填) Administrator's Email Address:管理員Email信箱 Run as a service for All Users:將Apache伺服器安裝成系統服務(隨系統啟動而系統) Run When started manually,only for me:每次手工啟動Apache伺服器 如果不知道該怎麼填,可以就按圖中的那些參數填寫,最好將Apache安裝成系統服務。[/quote] [quote]第5步:\>選擇自定義安裝方式 請在這里盡量選擇自定義安裝方式,可以方便以後的調試。[/quote] [quote]第6步:\>選擇Apache安裝路徑 請選擇安裝目錄,這里盡量將安裝路徑選擇為C:\,其實是安裝到C:\Apache目錄,因為這樣路徑簡單化,以後寫配置文件會省力好多。[/quote] [quote]第7步:\>復制Apache程序文件 請耐心等待一下。[/quote] [quote]第8步:\>Apache安裝結束 請點擊Finish完成安裝。[/quote] [quote]第9步:\>Apache服務正處於自動運行狀態 現在可以到管理工具的服務中查看,此時的Apache服務已經處於自動運行狀態。[/quote] [quote]第10步:\>修改httpd.conf文件 httpd.conf文件路徑:C:\Apache\conf\httpd.conf 注意:httpd.conf文件每行最前如果有#,表示這行注釋,要去掉#才能使該行啟用。 修改BindAddr
4、誰有伺服器 我想合作開個本地聊天室 本人有程序
你好,本人有伺服器,對開聊天室很感興趣!
請你聯系本人詳談,QQ147788328(註明聊天室)
5、現在國人都在用的國外伺服器的聊天軟體是什麼?
IRC?
ICQ?
6、請問高手:如何在區域網架設個聊天室啊!要用什麼軟體請給個明確說明?
要想在區域網內就能輕松實現聊天,首先需要做的就是在區域網伺服器中安裝Chat Anywhere工具軟體;在安裝該工具之前,可以先到http://www.91s.net/Soft/Soft_3264.htm 處下載獲得該工具軟體的安裝程序,然後用滑鼠雙擊它,就能開始聊天服務的安裝操作;安裝過程中,幾乎不需要你進行任何設置,只要你一路單擊「next」按鈕,該工具就會自動完成各種服務配置,並自動完成其他方面的安裝任務。安裝操作結束之後,雙擊系統桌面上的「chat anywhere」快捷圖標,在隨後出現的圖1界面中,你將看到該程序已經默認地創建好幾個不同類別的聊天室了,選中你認為合適的聊天室名稱,再單擊「OK」按鈕,就能啟動伺服器中的聊天服務了。
當然要是你的伺服器中已經架設好並啟動了web伺服器時,那麼在啟動內網聊天服務時就可能出現服務埠沖突的提示,這是因為內網聊天伺服器在默認狀態下也是使用的80埠;遇到這種情況,你可以在圖2所示的埠沖突提示窗口中,為內網伺服器指定一個其他的服務埠號,例如這里筆者為內網聊天伺服器指定的服務埠號為「8009」,單擊「OK」按鈕後,需要重新啟動內網聊天伺服器。
7、拜求 :Java寫的一個簡單的聊天室或者FTP伺服器下載程序。
FTP伺服器下載端?這個比較好寫,我恰好有個。
引用了一些其它方法,你直接刪了就行。
import java.io.DataInputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import org.apache.log4j.Logger;
import cn.com.ultrapower..HighFeeBean;
import cn.com.ultrapower.jdbc.AbstractJdbcUtil;
import sun.net.TelnetInputStream;
import sun.net.ftp.FtpClient;
public class FtpUtil {
private Logger logger = Logger.getLogger(FtpUtil.class);
private FtpClient ftpClient;
private String hostName;
private int port;
private String userName;
private String password;
private SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
private AbstractJdbcUtil jdbcUtil;
private String temp = "temp";
private static SimpleDateFormat sdfDB = new SimpleDateFormat(
"yyyyMMddHHmmss");
/**
* 默認構造方法
*
* @param hostName
* @param port
* @param userName
* @param password
*/
public FtpUtil(String hostName, int port, String userName, String password) {
this.hostName = hostName;
if (port > 0) {
this.port = port;
}
this.userName = userName;
this.password = password;
}
/**
* 打開連接
*
* @return
*/
public boolean open() {
if (ftpClient != null && ftpClient.serverIsOpen()) {
return true;
}
try {
ftpClient = new FtpClient();
ftpClient.openServer(hostName, port);
ftpClient.login(userName, password);
ftpClient.setConnectTimeout(60 * 1000);
return true;
} catch (Exception e) {
e.printStackTrace();
ftpClient = null;
return false;
}
}
/**
* 改變工作目錄
*
* @param workdir
* @return
*/
public boolean cd(String workdir) {
if (!open()) {
return false;
}
try {
ftpClient.cd(workdir);
} catch (IOException e) {
e.printStackTrace();
return false;
}
return true;
}
/**
* 斷開連接
*
* @return
*/
public boolean disconnect() {
try {
if (ftpClient.serverIsOpen()) {
}
ftpClient.closeServer();
} catch (IOException e) {
e.printStackTrace();
return false;
}
return true;
}
public boolean bin() {
if (!open()) {
return false;
}
try {
ftpClient.binary();
} catch (IOException e) {
e.printStackTrace();
return false;
}
return true;
}
/**
* 從ftp下載文件到本地 fileNameList 伺服器上的文件
*
* @param newfilename
* 本地生成的文件路徑
* @return
* @throws Exception
*/
public void downloadFile(List<String> fileNameList, String localedirectory) {
logger.info("begin to downloadFile--------->"+fileNameList.size());
TelnetInputStream is = null;
FileOutputStream os = null;
try {
for (String str : fileNameList) {
File ff = new File(str);
HighFeeBean highFeeDao = new HighFeeBean();
highFeeDao.setFtpFName(ff.getName());
highFeeDao.setStat("1");
jdbcUtil.insertFtpFile(highFeeDao);
File localFileDir = new File(localedirectory);
if (!localFileDir.exists()) {
localFileDir.mkdirs();
}
is = ftpClient.get(str);
java.io.File outfile = new java.io.File(localedirectory
+ File.separator + new File(str).getName());
os = new FileOutputStream(outfile);
byte[] bytes = new byte[1024];
int c;
while ((c = is.read(bytes)) != -1) {
os.write(bytes, 0, c);
}
logger.info("download fileName---->" + ff.getName());
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (is != null) {
is.close();
}
if (os != null) {
os.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
/**
*
* 外部調用方法
*
* @param localDirectory
* @param ftpDirectory
*/
public void downLoad(String localDirectory, String ftpDirectory) {
List<String> list = getFileList(ftpDirectory);
logger.info("ftpListSize()------->"+list.size()+";ftpDirectory------>"+ftpDirectory);
List<String> today = isToday(list);
logger.info("downLoad.size()----->"+today.size());
if (today.size() == 0) {
return;
}
downloadFile(today, localDirectory + File.separator + temp);
}
public List<String> getFileList(String ftpDirectory) {
List<String> list = new ArrayList<String>();
DataInputStream dis;
try {
// ftpClient.list();
char ch = ' ';
if (ftpDirectory.length() > 0)
ch = ftpDirectory.charAt(ftpDirectory.length() - 1);
for (; ch == '/' || ch == '\\'; ch = ftpDirectory
.charAt(ftpDirectory.length() - 1))
ftpDirectory = ftpDirectory.substring(0,
ftpDirectory.length() - 1);
dis = new DataInputStream(ftpClient.nameList(ftpDirectory));
String filename = "";
while ((filename = dis.readLine()) != null) {
list.add(filename);
}
} catch (IOException e) {
e.printStackTrace();
}
return list;
}
public List<String> isToday(List<String> list) {
if (list.size() == 0 || list == null) {
return new ArrayList<String>();
}
List<String> today = new ArrayList<String>();
String reg = sdf.format(new Date());
Pattern pattern = Pattern.compile(reg);
Pattern pattern2 = Pattern.compile(getYestoryday());
for (String str : list) {
Matcher matcher = pattern.matcher(str);
Matcher matcher2 = pattern2.matcher(str);
if (matcher.find() || matcher2.find()) {
logger.info("filedown------------------->"+str);
today.add(str);
}
}
logger.info("today.size()111111------->"+today.size());
return isNeedDown(today);
}
public List<String> isNeedDown(List<String> today) {
logger.info("today.size()22222------->"+today.size());
if (today.size() == 0 || today == null) {
return null;
}
List<String> list = new ArrayList<String>();
for (String str : today) {
String fileName = new File(str).getName();
logger.info("fileName----->"+fileName);
if (jdbcUtil.isNeeddown(fileName)) {
list.add(str);
}
}
logger.info("isNeedDown.size()"+list.size());
return list;
}
public String getYestoryday() {
long d = new Date().getTime() - 24 * 60 * 60 * 1000;
Date date = new Date(d);
return sdf.format(date);
}
public static void main(String[] args) {
FtpUtil fu = new FtpUtil("130.84.201.10", 21, "unionmon", "monitor");
fu.open();
fu.bin();
long begin = System.currentTimeMillis();
List<String> list = fu
.getFileList("/array_indb_2/detach/highreport/reportbak");
List<String> today = fu.isToday(list);
System.out.println(System.currentTimeMillis() - begin);
long begin2 = System.currentTimeMillis();
fu.downloadFile(today, "D:" + File.separator + "test" + File.separator
+ "test");
System.out.println(System.currentTimeMillis() - begin2);
fu.disconnect();
}
public FtpClient getFtpClient() {
return ftpClient;
}
public void setFtpClient(FtpClient ftpClient) {
this.ftpClient = ftpClient;
}
public String getHostName() {
return hostName;
}
public void setHostName(String hostName) {
this.hostName = hostName;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public int getPort() {
return port;
}
public void setPort(int port) {
this.port = port;
}
public AbstractJdbcUtil getJdbcUtil() {
return jdbcUtil;
}
public void setJdbcUtil(AbstractJdbcUtil jdbcUtil) {
this.jdbcUtil = jdbcUtil;
}
public String getTemp() {
return temp;
}
public void setTemp(String temp) {
this.temp = temp;
}
}
8、求一個簡單java多人聊天室程序,伺服器不需要界面,客戶端需要登陸和聊天界面,登陸時檢測重復的用戶
求一本耽美小說書名
受是農村人,攻是城裡人,有一個情節是攻去農村受的家裡,忘記了是攻還是受穿褲子拉鏈卡住了,結果還是用剪刀剪掉的,我只記得這點,小說比較老了,求書名
9、想用易語言的客戶端和服務端做一個聊天室軟體。求實現多客戶端同時聊天的思路!
http://www.5a5x.com/06/201104/04273056.html
10、仿UC大型P2P在線聊天室IM軟體(服務端+網站後台+客戶端)
那個都是要錢啊,我也想要啊。兄弟,