![]() |
|
|
Thread Tools |
|
#1
|
||
|
||
|
Bác nào rành về lập trình mạng trong C# giúp mình cái này với
Mình có làm 1 kết nối client server sử dụng threads, chạy thì nó báo lỗi này
![]() Only one usage of each socket address (protocol/network address/port) is normally permitted. Đây là code: Code:
public partial class Sever : Form
{
TcpListener client;
byte[] data = new byte[1024];
IPAddress ip;
public Sever()
{
InitializeComponent();
textBox_Port.Text = "8888";
string hostName = Dns.GetHostName();
IPHostEntry ipHostInfo = Dns.GetHostEntry(hostName);
ip = ipHostInfo.AddressList[0];
string ipAddress = Dns.GetHostByName(hostName).AddressList[0].ToString();
textBox_IP.Text = ipAddress;
try
{
IPEndPoint ipe = new IPEndPoint(ip, Convert.ToInt32(textBox_Port.Text));
client = new TcpListener(ipe);
}
catch
{
MessageBox.Show("Kiem tra lai dia chi ip va port");
return;
}
client.Start(); // Lỗi ngay dòng này
textBox_Status.Text = "Waiting for Clients.....";
button_start.Text = "Stop";
while (true) //khi bỏ dòng lap while này thì k bao lỗi nữa
{
if (client.Pending())
{
ConnectionThread newconnection = new ConnectionThread(listBox1, textBox_Status);
newconnection.threadListener = this.client;
ThreadPool.QueueUserWorkItem(new WaitCallback(newconnection.HandleConnection));
}
else
Thread.Sleep(1000);
}
}
}
|
| money10289 |
| View Public Profile |
| Find all posts by money10289 |
|
#2
|
||
|
||
|
Re: Bác nào rành về lập trình mạng trong C# giúp mình cái này với
Muốn giúp qá
nhưng em mới học 2 cái WriteLine và ReadLine thôi ợ
__________________
[RIGHT][COLOR="White"]Lạc mất lối.....làm sao tìm nhau giữa một trời trắng xóa ?[/COLOR][/RIGHT] |
|
#3
|
|||
|
|||
|
Re: Bác nào rành về lập trình mạng trong C# giúp mình cái này với
tốt bụng quá
![]() ![]() ![]() ![]()
__________________
Đã thương, đã nhớ, đã mong chờ Đã quên, đã hận, đã thờ ơ Đã xa, đã hết, đã không nhớ Đã đứng vững rồi, đã hết ngơ |
| LokiDClone |
| View Public Profile |
| Find all posts by LokiDClone |
|
#4
|
|||
|
|||
|
Re: Bác nào rành về lập trình mạng trong C# giúp mình cái này với
Nếu bạn dùng While thì cái điều kiện :
Quote:
Bạn thử dùng do while xem sao hoặc kiểm tra lại điều kiện của nó. |
|
#5
|
|||
|
|||
|
Re: Bác nào rành về lập trình mạng trong C# giúp mình cái này với
đoán mò nhé:
Nếu thực sự lỗi ở dòng start thì dự đoán do vô tình tạo 2 listener trên cùng 1 port, tức là class Server được khởi tạo 2 lần ở đâu đấy (do port set tĩnh là 8888), hoặc là port 8888 đó đang được sử dụng bởi thằng nào khác trên máy mà mình ko biết. Tuy nhiên theo như nói bỏ vòng lặp while đi thì ko bị lỗi nữa, suy ra chỉ còn 1 lý do là Server được tạo 2 lần mà thôi.
__________________
PlayStation Network: nestorvie (for GTA 5) |
|
#6
|
||
|
||
|
Re: Bác nào rành về lập trình mạng trong C# giúp mình cái này với
Code này mình lấy từ vd trong sách, mà khi bỏ vòng lập while k bỏ các lệnh trong đó thì nó vẫn chạy nhưng k đúng yêu cầu vì cần lập lại dòng lệnh đó để nhận client kết nối
|
| money10289 |
| View Public Profile |
| Find all posts by money10289 |
|
#7
|
|||
|
|||
|
Re: Bác nào rành về lập trình mạng trong C# giúp mình cái này với
Quote:
Khả năng khi cho while vào nên cái client.pending() ko biêt phản hổi từ đâu. |
|
#8
|
|||
|
|||
|
Re: Bác nào rành về lập trình mạng trong C# giúp mình cái này với
ngày trước em hay dùng port 8080. bác thử sửa lại port trong file log xem
|
|
#9
|
|||
|
|||
|
Re: Bác nào rành về lập trình mạng trong C# giúp mình cái này với
post thông báo lỗi lên đây đi cậu...
__________________
Tính sơ sơ vài cài nick ra đi vì comment vào nhg thread nhạy cảm + nhảm rồi.... |
| Phong.dq_never_lifted |
| View Public Profile |
| Find all posts by Phong.dq_never_lifted |
|
#10
|
|||
|
|||
|
Re: Bác nào rành về lập trình mạng trong C# giúp mình cái này với
Cũng có thể là bị khóa các port nhưng dùng máy cá nhân thì đâu có bị giới hạn khóa port đâu.
|
![]() |
|
|